Excel上で音を鳴らす場合、単純にBeep音を鳴らすだけなら「Beep」と書くだけで実行されます。もし曲や他の効果音を鳴らしたいということですと、もうちょっと別のやり方が必要になります。
ビープ音を鳴らす
警告音を鳴らす
Beep
Beep
とりあえず何か音を鳴らしたいだけなら、マクロでBeepと書いて実行すれば聞き慣れたのが鳴ります。
' vba
For i = 1 To 5
Beep
Next
環境によっては音が短すぎて聞き取れなかったりするそうなので、For文を使って繰り返すと聞こえるかもしれません。
曲を流す
Windows MediaPlayerを立ち上げる
ソフトを立ち上げる
Shell パス\ソフト名 パス\ファイル名
Shell パス\ソフト名 パス\ファイル名
Media Playerを立ち上げてみます。Shellの後にパス(ファイルのある場所)を記述してファイルを起動しますが……。
面倒なのでコピペします。Program filesフォルダの中にあるMedia Playerのフォルダへ行き……。
フォルダの中に入ったら、上にあるパンくずリストの上で右クリックして、「アドレスのコピー」ないしは「アドレスをテキストとしてコピー」をクリックします。
Shellの後に”を置き、貼りつけるとこうなります。
さらに目的のwmplayer.exeも名前をコピーして……。
\の後に貼りつけ、”でパスを閉じます。\はEnterの左下にあるひらがなの「ろ」が書かれたキーを打つと書けます。
マクロを実行すると、Media Playerが起動します。
鳴らす曲を指定する
曲も同様にパスを指定します。とりあえずitunes Mediaの上のほうにあった10ccでも鳴らすことにします。
パスの最後に忘れずにファイル名も付けます。拡張子も必要です。
パスが長くてごちゃごちゃするので、変数をDimで作って……、
変数にパスを代入することにしますが、それでも長い!
もしパスを途中で折り返して表示する場合は、“パス” _
& “パス”のように書くと、ちゃんと認識されます。_はさっき\を打ったキーをShift押しながら打てば入れられます。
& “パス”のように書くと、ちゃんと認識されます。_はさっき\を打ったキーをShift押しながら打てば入れられます。
このままだとexeとファイルパスが直接くっついてエラーになるので、exeの後に半角スペースを入れてあげます。
これでほぼ完成……なんですが、実行するとMediaPlayerに拒否られました。
なぜかというと、フォルダまたはファイル名に半角スペースが入っているからです。その場合、パスを閉じる”を増量して”””にするというルールがあります。
今度は無事に実行できました。普通の環境であれば、Mid、Wav、MP3あたりは問題なく再生できるはずです。
なお、WindowsであればC:\Windows\Mediaあたりに行くと、テーマ別に色々な効果音が保管されています。ご参考まで。
' vba
Dim MusicFile As String
MusicFile = "パス/ファイル名" ' フォルダ/ファイル名に半角スペースが入る場合"""パス/ファイル名"""
Shell "C:\Program Files\Windows Media Player\wmplayer.exe " & MusicFile
sndPlaySound関数
別記事になりますが、Windows APIを使用したsndPlaySound関数でも曲をかけることが可能です。
こっちだといちいちWindows Media Playerとか立ち上げなくていいです。
こっちだといちいちWindows Media Playerとか立ち上げなくていいです。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント