別の動画で「VBAで任意の文字列を読み上げる」やり方をご紹介しました。その動画をご覧になったであろう知人から「合成音声じゃなく効果音をならしたい」「いっそ、好きな音楽(MP3)を再生できたら便利じゃね?」「動画は?動画も再生できるの?ねえ、動画は?」と、ありがたい反響を多数いただきました。全部できます。ここでご紹介します。いくつかの方法を解説しますけど、一番やっかいなのは効果音の再生です。これにはAPIが必須です。
↓左上にあるをクリックすると、チャンネル登録できます。ぜひ、チャンネル登録をお願いします。あなたのチャンネル登録が、私のやる気を維持向上してくれます(笑)
【関連動画】
セル内文字列だけじゃない!マクロで任意の文字列を読み上げる
https://youtu.be/oNtHJ0lPpF0
マクロで、なぜ文字列はダブルコーテーション("")で囲むのか?という、実は奥が深い問題
https://youtu.be/hk2j8ieKfFw
Sub 拡張子関連付けで開く1() CreateObject("Wscript.Shell").Run "C:\Work\Excel012.wmv" End Sub Sub 拡張子関連付けで開く2() With CreateObject("Wscript.Shell") .Run "C:\Work\Mr_Sunny_Face.mp3" End With End Sub
Sub 指定したアプリで開く() Shell "C:\Program Files (x86)\Windows Media Player\wmplayer.exe C:\Work\Excel012.wmv", vbNormalFocus End Sub
Declare PtrSafe 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 Sub APIで再生() mciSendString "Play C:\Work\Chime 2.wav", "", 0, 0 End Sub Sub APIで再生_ファイル名にスペース() mciSendString "Open ""C:\Work\Chime 2.wav""", "", 0, 0 mciSendString "Play ""C:\Work\Chime 2.wav"" wait", "", 0, 0 mciSendString "Close ""C:\Work\Chime 2.wav""", "", 0, 0 End Sub Sub 終わったら効果音() Dim i As Long For i = 1 To 2000 Range("A1") = i Next i mciSendString "Play C:\Work\Chime.wav", "", 0, 0 End Sub
動画で使用したブックのダウンロード(20200720.xlsm)
Office TANAKAのYouTubeチャンネルはこちら(動画一覧ページ)