プロが教えるわが家の防犯対策術!

エクセル以外の画面(たとえばこの教えて!gooなど)に移動したり、画面最小化したりしても、読み上げが中止されない方法ってありませんか?

A 回答 (1件)

こんばんは。



マクロで喋らせるという方法があります。
メニューのツールの参照設定からMicrosoft のところまで降りて言って、チェックを付けます。
レ Microsoft Speech Object Library.
'参照設定 Microsoft Speech Object Library '(sapi.dll)
同じ名称のものがあります。中身は少し違うものもありますから、必ず、sapi.dll を選んでくたさい。画面の下に、場所というところに名前が出てきます。

使い方は、
開発タグから、フォームコントロール-フォームボタンを貼り付けて、
右クリックで、マクロの登録で、SpeechTest を選択してください。

マウスで範囲を選択して、ボタンを押せば、喋ってくれます。
余計な範囲は選択しないほうがトラブルは少なくて済みます。
途中でとめる場合は、ESC キーを押してください。
エクセルのセルに直接以下のタグを埋め込んで喋らせてもよいです。
(Excel 2013の場合、別に故障ではないのですが、画面が白く-ホワイトアウトになる可能性があります。)


'//標準モジュール
Sub SpeechTest1()
Dim Rng As Range
Dim c As Range
Dim Voice As SpeechLib.SpVoice
Application.EnableCancelKey = xlErrorHandler 'ESCでマクロから抜け出す
On Error GoTo ErrHandler

Set Voice = New SpeechLib.SpVoice 'CreateObject("Sapi.SpVoice")
'参照設定 Microsoft Speech Object Library '(sapi.dll)
Set Rng = Selection
For Each c In Rng
 If c.Value Like "?*" Then
  DoEvents
  Voice.Speak "<xml><lang langid=""411"">" & c.Value '日本語 /英語(409)
 End If
Next c
ErrHandler:
Application.EnableCancelKey = xlInterrupt
End Sub

添付画像は、参照設定のところ
「エクセルの音声読み上げ」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

詳しい人は本当に詳しいですね。
尊敬します。
ぜひ試してみたいと思います。

お礼日時:2018/09/09 01:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!