セル内文字列だけじゃない!マクロで任意の文字列を読み上げる


以前「セルに入力されている値を読み上げる」という機能をご紹介しました。これ、もちろん、VBAからも利用できます。VBAで読み上げるときは、セルに入力されている値だけでなく、任意の文字列を読み上げできます。時間のかかるマクロが終わったら「終わりました~」と音声で知らせるとか、テキストファイルに書かれている文章を読み上げるとか、けっこう楽しいですし、そこそこ実用的です。

↓左上にあるをクリックすると、チャンネル登録できます。ぜひ、チャンネル登録をお願いします。あなたのチャンネル登録が、私のやる気を維持向上してくれます(笑)

Sub Macro1()
    On Error Resume Next
    Range("C1:C5").Speak
    If Err.Number > 0 Then
        ''[ESC]キーが押されたときの処理
    End If
End Sub
Sub Macro2()
    Application.Speech.Speak "みなさん、こんにちは"
End Sub
Sub Macro3()
    Dim i As Long
    For i = 1 To 1000
        Range("A1") = i
    Next i
    Application.Speech.Speak "終わりました"
End Sub
Sub Macro4()
    Dim buf As String
    Open "C:\Work\Sample.txt" For Input As #1
        Do Until EOF(1)
            Line Input #1, buf
            Application.Speech.Speak buf
        Loop
    Close #1
End Sub
Sub Macro5()
    Dim buf As String
    With CreateObject("Scripting.FileSystemObject")
        With .GetFile("C:\Work\Sample.txt").OpenAsTextStream
            buf = .ReadAll
            .Close
        End With
    End With
    Application.Speech.Speak buf
End Sub

動画で使用したブックのダウンロード(20200621.xlsm)

Office TANAKAのYouTubeチャンネルはこちら(動画一覧ページ)