前提・実現したいこと
ここに質問の内容を詳しく書いてください。
パワポVBAを使用して、自動で動画読み上げを行いたい
該当のソースコード
VBA
ソースコード
Sub 読み上げ()
' 現在のスライド番号を取得 Dim n As Long n = ActiveWindow.Selection.SlideRange.SlideIndex ' 現在のスライドのノートを取得 Dim strNote As String strNote = ActivePresentation.Slides(n).NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text ' ノートが空白なら終了 If strNote = "" Then Exit Sub End If ' 現在のフォルダを取得 Dim cd As String cd = ActivePresentation.Path ' wavファイルのパスを作成 Dim wavePath As String wavePath = cd & "\voice.wav" ' wavファイルに保存 Const SAFT48kHz16BitStereo = 39 Const SSFMCreateForWrite = 3 Dim oFileStream, oVoice Set oFileStream = CreateObject("SAPI.SpFileStream") oFileStream.Format.Type = SAFT48kHz16BitStereo oFileStream.Open wavePath, SSFMCreateForWrite Set oVoice = CreateObject("SAPI.SpVoice") Set oVoice.AudioOutputStream = oFileStream oVoice.Speak strNote oFileStream.Close ' audioオブジェクトの埋め込み(音声データを埋め込む) Dim oSlide As Slide Dim oShp As Shape Dim oEffect As Effect Set oSlide = ActivePresentation.Slides(n) Set oShp = oSlide.Shapes.AddMediaObject2(wavePath, False, True, 10, 10) With oShp.AnimationSettings.PlaySettings .HideWhileNotPlaying = True End With
試したこと
インターネットで調べながら、埋め込むまでは行きました。
後、埋め込んで自動再生をして、そのスライドが終わったら次のづライドへ移動したいです。
あなたの回答
tips
プレビュー