もくじ

taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、taka(@takabou63)です(^^♪
皆さんVBAで音声合成ソフトが作成できるのはご存知ですか?
「あいうえお」のようなTextが「声」で読み上げが可能なのです(^^)
私は最近知ったのですが(笑)こんな面白いものがあるとわかったら、いろいろな楽しそうですよね(*’▽’)
なにか考えて制作しようかと思います(^^♪
今回はそんな「音声読み上げ「Speakメソッド」」についてご紹介します(^^)/
VBAで読み上げは意外と簡単に可能「Speakメソッド」
音声読み上げ機能というと難しそうな気もしますが、Excelには初めから音声の読み上げ機能が搭載されています(^^♪
読み上げにはRangeオブジェクトの「Speakメソッド」を使用します(^^)
Speakメソッドの書式
Speakメソッドの書式は以下の通りです(^^)/
オブジェクト.Speak 読み上げの方向, 数式の読み上げ可否
「オブジェクト」には、Rangeオブジェクトを指定します。
「読み上げの方向」には、読み上げる方向を定数で指定します。定数は通りです!
定数 | 読み上げの方向 |
---|---|
xlSpeakByColumns | 列方向 |
xlSpeakByRows | 行方向 |
「数式の読み上げ可否」では、TrueまたはFalseを指定します。Trueを指定すると計算結果ではなく数式を読み上げます。省力・Falseを指定した場合は数式の結果を読み上げます。
下記のコードはA1~A5のセルのテキストを順に読み上げるコードです。
読み上げ中はExcelの操作不可になります
Sub Sample() Range("A1:A5").Speak End Sub


Rangeオブジェクトのメソッドだと他では使えない?と思われるかもしれませんが、そんなことはありません!
ApplicationオブジェクトのSpeachオブジェクトにもSpeakメソッド
実はApplicationオブジェクトにSpeachオブジェクトというものがあって、このSpeachオブジェクトにも同じSpeakメソッドが用意されているんです(^^)/
なのでセル以外でも使用が可能です!下記のコードはinputに入力した文字列を読み上げるコードになります(^^)/
Sub Sample() Dim i As String i = InputBox("読み上げる文字列を入力してください", "読み上げ") Application.Speech.Speak i End Sub
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す