none
動画の挿入 RRS feed

すべての返信

  • etocchiさん、今晩は。

    インターネット上で検索しましたが、適当な例は見つかりませんでした。そこで、無理やりコードを作って、動作確認して、一応、挿入したと言えるのではないか、というレベルになったと思いますので、返信する次第です。

    手動で、メニューバーの 挿入ビデオ>このデバイス>ビデオの挿入ダイアログ でファイルを指定して挿入する場合は、真っ黒な四角い図形がスライド一杯の大きさで挿入されて、スライド下方に表示される再生ボタンをクリックすると動画がスライド内で再生されます。

    一方、以下の例では、アイコンが描画された四角い図形が挿入され、これをクリックするとこのファイルを開くかキャンセルかのメッセージが表示されて、開くと動画がスライドとは別に再生される、という具合です。

    と言う訳で、手動挿入の場合とは異なる形になりますが、一応、動画を挿入できる例とはなるかなと思い、以下に提示します。そもそもこれではダメなのかもしれませんし、手直ししたら手動での挿入と同じようにできるのかもしれませんが、全く分かりません。なお、動作確認は、Windows10_64bit+PowerPoint2016_32bit で致しました。動画ファイルは「~.mp4」でしか確認していません。

    Option Explicit
    Sub パワーポイントのスライドに動画挿入sample()
    'Dim ppApp As New PowerPoint.Application ’---パワーポイントのVBA故不要
    'ppApp.Visible = True                     '---パワーポイントのVBA故不要
    Dim ppPrs As PowerPoint.Presentation
      Set ppPrs = ActivePresentation

    Dim ppSld As PowerPoint.Slide
      Set ppSld = ppPrs.Slides(3)

    Dim videoFFName As String
      videoFFName = "ほげほげ"          '---「ほげほげ」は動画のフルネームの文字列;例「F:¥test¥video.mp4」
      Call ppSld.Shapes.AddOLEObject(Top:=100, Left:=50, Width:=800, Height:=300, _
                FileName:=videoFFName, Link:=False, DisplayAsIcon:=False)

       '↑位置やサイズは一つの例
    End Sub

    なお、次のURLのテキスト挿入に関する記事を参考にコードを作っております。ありがとうございました。
    https://tonari-it.com/excel-vba-powerpoint-textbox-text/
    • 編集済み KokemomoYamamomo 2021年4月2日 0:40 でっち上げる→作る
    2021年4月1日 13:04
  • etocchiさん、今晩は。

    上記コードの
    「 

    Call ppSld.Shapes.AddOLEObject(Top:=100, Left:=50, Width:=800, Height:=300, _
                FileName:=videoFFName, Link:=False, DisplayAsIcon:=False)


    「Call ppSld.Shapes.AddMediaObject2(Top:=0, Left:=0, Width:=ppPrs.PageSetup.SlideWidth, Height:=ppPrs.PageSetup.SlideHeight, FileName:=videoFFName, Linktofile:=False, SaveWithDocument:=True) 」
    に変えると、手動で挿入したのと同じになりました。動画ファイルは、同じ「~.mp4」ファイルです。

    2021年4月1日 13:41
  • こんにちは。

    ローカルファイルの場合はAddMediaObject2メソッド、オンラインビデオの場合はAddMediaObjectFromEmbedTagメソッドで対応できるかと思います。
    Public Sub Sample1()
    'ローカルにある動画ファイル挿入
      With ActivePresentation.Slides(1)
        '動画挿入
        .Shapes.AddMediaObject2 _
          FileName:="C:\Test\sample.mp4", _
          LinkToFile:=msoFalse, _
          Left:=100, _
          Top:=100, _
          Width:=480, _
          Height:=240
      End With
    End Sub
    
    Public Sub Sample2()
    'YouTubeやVimeoといったオンラインビデオ挿入
      With ActivePresentation.Slides(1)
        '「EmbedTag」で埋め込みコード指定、バージョンや対象サイトによっては動画ページのURLでも挿入できる模様
        .Shapes.AddMediaObjectFromEmbedTag _
          EmbedTag:="https://www.youtube.com/watch?v=Y_0xqhEPo6w", _
          Left:=100, _
          Top:=100, _
          Width:=480, _
          Height:=240
      End With
    End Sub

    2021年4月2日 0:39