● オブジェクト.Speak SpeakDirection, SpeakFormulas
【SpeakDirection】
xlSpeakByColumns = 縦方向に読み上げます。(下方向)
xlSpeakByRows = 横方向に読み上げます。(右方向)
【SpeakFormulas】
True = セルの数式を読み上げます。
False = セルの値を読み上げます。
【使用例】
セル「A1」には、 『 =1+1 』
Range(“A1”).Speak 結果(読み上げ)⇒ 2
Range(“A1”).Speak ,True 結果(読み上げ)⇒ 1+1
【注意点】
読み上げ中は、EXCELの操作は出来ません。
選択したセル範囲の内容を順番に読み上げるサンプルプログラムです。EXECLEシートにデータが連続して登録されている場合に、セルの範囲とセル内容を読み上げる方向を指定する事で、順番に読み上げます。登録されているデータの読み合わせなどを行う時に、活用できると思います。
' ' Sub Speak01() '横方向に読み上げます。 Range("A2:C11").Speak xlSpeakByRows End Sub Sub Speak02() '縦方向に読み上げます。 Range("F2:G11").Speak xlSpeakByColumns End Sub '
' ' Sub Speak03() '数式の読み上げを行う。 Range("B3:D12").Speak xlSpeakByRows, True End Sub Sub Speak04() '値の読み上げを行う。 Range("B3:D12").Speak xlSpeakByRows, False End Sub '
下記のサンプルプログラムは、メッセージボックスに表示する内容を音声機能で読み上げて、回答するサンプルプログラムです。B列に掲載している内容をメッセージボックスで表示して音声でも読み上げて、C列に回答します。
【プログラム内容(順序)】
①B列のアンケート内容を音声で読み上げます。
②B列のアンケート内容をメッセージボックスで表示します。
③回答結果をC列に記入します。
④回答結果を音声で読み上げます。
' '******** AKIRA55.COM ******* https://akira55.com/speak/ ' Sub Speak05() 'メッセージボックスと音声を利用してアンケートに解答する。 Dim I As Long Dim Retmsg As Integer For I = 2 To 6 Range("B" & I).Speak 'B列のアンケート内容を読み上げます。 Retmsg = MsgBox(Range("B" & I), vbYesNo) 'B列のアンケート内容を表示(Yes/NO) If Retmsg = 6 Then Range("C" & I) = "はい" 'Yes C列の結果に記入 Else Range("C" & I) = "いいえ" 'No C列の結果に記入 End If Range("C" & I).Speak '回答内容を音声で読み上げます。(はい・いいえ) Next I End Sub '