質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

3480閲覧

PowerPointで音声データを埋め込み、終わったら次のスライドへ移動させたい

wzSf11rDdXhuPD7

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2022/01/20 06:45

埋め込み後、次のスライドへ移動させたい
■■な機能を実装中に以下のエラーメッセージが発生しました。

該当のソースコード

Sub 埋め込み()

Dim n As Long '現在のスライド Dim strNote As String 'ノート取得 Dim cd As String 'フォルダを取得 Dim wavePath As String 'wavファイルを作成 Dim oFileStream, oVoice 'wavファイルに保存 Dim oSlide As Slide '音声データ Dim oShp As Shape '現在のスライドのノートを取得 n = ActiveWindow.Selection.SlideRange.SlideIndex strNote = ActivePresentation.Slides(n).NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text 'ノートが空白なら終了 If strNote = "" Then Exit Sub End If '現在のフォルダを取得 cd = ActivePresentation.Path 'wavファイルのパスを作成 wavePath = cd & "\voice.wav" 'wavファイルに保存 Const SAFT48kHz16BitStereo = 39 Const SSFMCreateForWrite = 3 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オブジェクトの埋め込み(音声データを埋め込む) Set oSlide = ActivePresentation.Slides.Item(n) Set oShp = oSlide.Shapes.AddMediaObject2(wavePath, False, True, 10, 10) With oShp.AnimationSettings.PlaySettings .HideWhileNotPlaying = True End With

End Sub

ソースコード

試したこと

埋め込みまでは出来ているのですが、次スライドへ移動ができません。
色々調べながらやっているのですが、どうしてもうまくいきません。
ご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

単体ページの埋め込みができているので、
スライドを Slides(n).Select で切り替えながら、
単純に完成済みの 埋め込み() 関数を呼ぶと良いのでは?
https://youtu.be/6gt1n0HZ6bM?t=317
↑処理結果・テスト結果の動画です。時間のある時に見て笑ってください。。。

↓全てのスライドを選択しながら、埋め込み() を呼ぶソースコード

VBA

1Sub test() 2 3 Dim n As Long '現在のスライド 4 5 For n = 1 To ActivePresentation.Slides.Count 6 ActivePresentation.Slides(n).Select 'n番目のスライドを選択する 7 Call 埋め込み 8 Next 9 10 MsgBox "処理終了" 11 12End Sub

で、動作すると思います。
※次を選択したい の 質問を勘違いしていたらすみません。

解決のヒントとなれば幸いです。
※ 試行錯誤の動画を頭 https://youtu.be/6gt1n0HZ6bM?t=1 から見ていただけると嬉しいです

投稿2022/01/24 14:48

ken3memo

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問