別の動画で「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チャンネルはこちら(動画一覧ページ)