マクロでPCの音を鳴らす方法 − GoGoマクロ!のWebサイト

HOME > 入門 > 音を鳴らす

マクロで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 >>
マクロでブラウザやメモ帳を起動させる方法