カスタム検索
Office関連

Excelで日本語の読み上げ機能を使う(Excel VBA)

文章を読み上げる(Word 2010 VBA)」でも紹介した通り、「Microsoft Speech Platform - Server Runtime」と「TTSエンジン(MSSpeech_TTS_ja-JP_Haruka.msi)」をインストールすれば文章を日本語で読み上げることが可能になります。

2010/09/04 追記
Microsoft Speech Platform - Server Runtime (Version 10.2)」と「Microsoft Speech Platform - Server Runtime Languages (Version 10.2)」がダウンロードできるようになりました。バージョン10.2からはXP非サポートになりました。

2012/02/16 追記
これまで公開していたファイルをアドインとして改めて公開することにしました。
ダウンロードはこちらから。

しかしExcelでは日本語のTTSエンジンを導入しても日本語を読み上げてくれません。
(Word等他のOfficeアプリケーションでは問題ありません。詳細についてはラムさんのWebサイト「世の中は不思議なことだらけ」をご参照ください。)

ここでは一時しのぎ的な方法ですが、Excelで日本語を読み上げる方法(マクロ)と読み上げるためのツールを紹介します。

 

上で挙げた「Microsoft Speech Platform - Server Runtime」と「TTSエンジン(MSSpeech_TTS_ja-JP_Haruka.msi)」をインストールした状態で、下記コードを実行すると「こんにちは」と読み上げてくれます。

Sub Sample()
  GetObject("new:{D941651C-44E6-4C17-BADF-C36826FC3424}").Speak "こんにちは"
End Sub

上記の通り「Microsoft Speech Object Library」を使うことで、Excelでも日本語による読み上げが可能になります。
これを使ったツールが下記になります。

 

日本語の読み上げツール for Excel 2007/2010

 

このツールは、セルやテキストが入力されたオートシェイプを選択した状態でホームタブの中にある「拡張読み上げ」から「読み上げ」ボタンをクリックすることで、文字列を読み上げる事ができます。
また複数の言語のTTSエンジンがインストールされている場合は、読み上げる言語を選択することもできます。
Office 2007/2010対応で、使用しているコードは自由に改変して構いません。