マクロでPCの音を鳴らす方法
「マクロで音を鳴らす」ための方法には、ごく簡単なものから
非常に難しい上級者向きの方法まで数々ありますが、今回紹介するのは
初心者でも比較的簡単にできる方法の3つです。
まず最初は、
(1) Beep
最も簡単でよく知られている方法がこの ビープ音 というものです。
これは、作ったマクロの音を鳴らしたい箇所に、ただ
+++++++++++++++++++++++─
Sub Macro1()
Beep
End Sub
+++++++++++++++++++++++─
という1行を入れるだけです。
ただし、その音の長さはPC個々の環境によって違ってくるものなので
もし、短くて聞き取れないようならループを回して
+++++++++++++++++++++++─
Sub Macro1()
For i = 1 To 10
Beep
Next i
End Sub
+++++++++++++++++++++++─
といった具合にすれば聞こえるようになります。(但しPCによっては
最後の1回しか聞こえないという場合もあります。)
次に、
(2) BeepAPI
これは先ほどの Beep に似たようなものですが、もう少し高度な方法と
なりますので、以下のサンプルコードにて示します。
++++++++++++++++++++++++++++─
Declare PtrSafe Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Sub Macro2()
Call BeepAPI(300, 500)
Call BeepAPI(800, 1000)
End Sub
++++++++++++++++++++++++++++─
※なお、32bitマシーン(古めのPC)の場合は、最初の行の PtrSafe を
削除してください。
最初の難しい2行は(専門的に言えば、WindowsのAPIというものを使う為の
手続きということですが)、何も考えずにただこのままコピッペをして
Sub Macro の上に置けばよいという類のものです。
この BeepAPI のカッコの中の最初の数字が音の高さ(大きい数字ほど高音
になります)で、カンマ後の数字が鳴る時間の長さ(単位はm秒:m(ミリ)秒は
千分の1秒です)になります。
※注意!
このマクロを実行する前には、必ずパソコンのボリュームを小さくしぼって
から実行してください!!(パソコンからびっくりする程の音が出る場合が
ありますので、くれぐれもご注意ください。)
あと最後に、
(3) Media Player
これは先ほどまでのただの音だけではなく、音楽を鳴らすという方法として
以前も解説した Shell というものを使って、皆さんよくご存知の Windows
の「メディアプレイヤー」(Windows に標準装備されている音楽再生ソフト)
を起動させて指定した音楽ファイルを再生する、といったことが下記の1行
でできるというものです。
++++++++++++++++++++++++++++─
Sub Macro3()
Shell "C:\Program Files\Windows Media Player\wmplayer.exe C:\Users\Music\好きな曲.mp3", 1
End Sub
++++++++++++++++++++++++++++─
この wmplayer.exe というのが Media Player の実行ファイル(ソフトその
もの)で、上記Macro3の例ではC:\Users\Musicのフォルダにある 好きな曲.mp3
という音楽ファイルをメディアプレイヤーで再生する、という意味になります。
なお、wmplayer.exe はこのようにフルパスで指定します。(※パス名の部分は
バージョンによって異なる場合があります。win10やwin11は、これで大丈夫です。)
Shell については、過去のLesson147の
「マクロでブラウザやメモ帳を起動させる方法」
この回で詳しく解説しています。
ちなみに、語尾の 1 を 0 に変えると「メディアプレイヤー」を表示せずに
音楽再生することができます。
NEXT >>
・マクロでブラウザやメモ帳を起動させる方法