ChatGPTにより作成したマクロ
・パソコンに保存したWordを使う。」OneDrive上ではエラーになることがある。
・下のコードをWordのマクロに&ペーストするが、改行などがエラー原因になることがあるので、TXTファイルを使うことも可。
・Wordは一度、ファイル形式を.docm(マクロを含む形式)にして保存する。
Sub ReadWordAndEmbedAudio()
Dim spVoice As Object
Dim spFileStream As Object
Dim textToRead As String
Dim audioPath As String
' 読み上げる本文(必要なら範囲指定も可)
textToRead = ActiveDocument.Content.Text
' 保存する音声ファイルのパス
audioPath = ActiveDocument.Path & "\reading.wav"
' SAPIオブジェクト作成
Set spVoice = CreateObject("SAPI.SpVoice")
Set spFileStream = CreateObject("SAPI.SpFileStream")
' WAV形式で保存
spFileStream.Open audioPath, 3, False
Set spVoice.AudioOutputStream = spFileStream
' 読み上げ
spVoice.Speak textToRead
' クローズ
spFileStream.Close
' Wordに音声を埋め込む
ActiveDocument.InlineShapes.AddOLEObject _
ClassType:="WMPlayer.OCX", _
FileName:=audioPath, _
LinkToFile:=False, _
DisplayAsIcon:=True
MsgBox "読み上げ音声を埋め込みました!"
End Sub