Windows API「PlaySound」の構文 Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long 戻り値:成功するとTRUE、失敗するとFALSEが返ります。 引数
Windows API「mciSendString」の構文 Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long 戻り値:成功すると0、失敗すると0以外の値が返ります。 引数
Windows Media Playerを使用するには、mplay32.exeを実行します。 実行は「/play」オプションで再生し、「/close」オプションで再生終了後、mplay32.exeを終了します。 ExeファイルをVBAで実行するにはShell関数を使用します。 mplay32.exeは通常存在するフォルダを指定しなくても実行できるはずです。 関連する「WAVEファイルを再生する」を掲載していますので参照してください。 |
Excel VBAでサウンドファイルを再生するのは、いくつかの方法があります。
ここでは3種類の方法で行います。
PlaySound Windows APIで再生するExcel VBAコード
Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" _
(ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub CommandButton1_Click()
PlaySound "c:\notify.wav", 1, 1
End Sub
mciSendString Windows APIで再生するExcel VBAコード
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Sub CommandButton1_Click()
Dim lRet As Long
lRet = mciSendString("Play c:\notify.wav", "", 0, 0)
End Sub
Windows Media Playerで再生するExcel VBAコード
Option Explicit
Private Sub CommandButton1_Click()
'Windows Media Player
Shell "mplay32.exe /play /close c:\notify.wav"
End Sub
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します