VBAでWindowsにテキストを読み上げてもらう

参考コード

sub Speak()

 Sentence=ThisWorkbook.Sheets(1).Range(“A1”)←Excelシート上に作成した文書の場所を指定

 Application.Speech.Speak Sentence,True

end sub

メモ

Application.Speech.Speakの第一引数(Sentenceの部分)には読み上げたい文章を指定、第二引数(Trueの部分)にはTrueもしくはFalseを指定する。この第に引数の部分にTrueを指定すると非同期処理となる。

非同期処理とは、この読み上げマクロを実行中(読み上げが終わっていない状態)でも次の処理に進むような処理を行ってくれるらしい。なので、読み上げをしながら別のマクロが動いている…みたいな処理ができる。同期処理は逆で、読み上げが終わらないと次の処理に進まない。

番号札を呼び出すようなシステムをExcelVBAで作りたいときに使えるかも…

コメント

タイトルとURLをコピーしました