VBA|メソッド|Application.Speech.Speak|指定した文字列を音声で読み上げる
基本構文
Application.Speech.Speak Text, SpeakAsync, SpeakXML, PurgeText:読み上げる文字列
SpeakAsync:非同期実行(True / False)
SpeakXML:XML指定(通常は False)
Purge:既存キューを破棄するか(True / False)
戻り値
なし
サンプルコード
指定した文字列を音声で読み上げる
役割:処理中・完了などを音声で通知する
理由:画面を見ていなくても状態が分かるようにする
注意:連続実行すると読み上げが重なることがある
Sub SpeakSample()
Application.Speech.Speak "ここの文章を読み上げるよ!"
End Subセルの値を読み上げる
役割:セルに書かれたメッセージを音声通知する
理由:処理結果を視覚以外でも伝えるため
注意:数式の場合は計算後の値が読み上げられる
Sub SpeakCellValue()
Application.Speech.Speak Range("A1").Value
End SubApplication.Speech.Speak が非同期で動作するかを確認する
役割:読み上げ中でも後続処理が実行されるかを検証する
理由:Purge や連続読み上げ制御が有効か判断するため
注意:Debug.Print は即時ウィンドウを事前に開いておく
Sub SpeakAsyncCheck()
Application.Speech.Speak "読み上げ開始", True
For i = 1 To 100
Debug.Print i
Next i
End Sub備考
Excel に標準搭載されているため 参照設定は不要
読み上げ非同期設定時は処理完了前に次のコードが動く点に注意
長文や連続呼び出しでは
読み上げが途中で重なる
意図しない順序で再生されることがある
主な活用例
処理完了通知
エラー発生時の警告
長時間マクロの進捗通知
いいなと思ったら応援しよう!
技術メモや学習の整理として書いています。
もし内容が役に立ったり、続きを読みたいと思っていただけたら、
応援として受け取らせてもらえたら嬉しいです。