動画ファイルを再生するExcelVBA

スポンサーリンク

動画ファイルを再生するVBAコード

先日仕事で動画ファイルを再生するExcelVBAのファイルを作成しました。
(結局当初の目的に合わず、仕事で使用できませんでしたが。)

動画を再生するVBAコードは使用する機会が少ないですが、せっかく作ったので今回紹介します。

動画ファイルを再生する方法は大きく分けて2つある

動画ファイルを作成する方法は大きく分けて2つあります。
1つはWindowsMediaPlayerのような他のアプリケーションを起動して確認する方法、もう一つがExcelの中に動画再生用のウインドウを作成し、その中で動画を再生する方法です。
両方の方法について順に記載していきます。

①WindowsMediaPlayerで動画を再生するVBAコード

こちらはVBAのコードを記載するだけなので、簡単です。
以下のVBAコードを実行するとExcelファイルと同じフォルダに入っている○○.mp4という名前の動画ファイルが再生されます。

Sub 動画再生()
Dim FilePath As String
FilePath = ThisWorkbook.Path & “\” & “○○.mp4”
Shell “C:\Program Files\Windows Media Player\wmplayer.exe /play ” & FilePath
End Sub

②Excelの中に動画再生用のウインドウを作成し、その中で再生する方法

ActiveXコントロールパネルを用いて、Excelファイルのシートに動画再生用のウインドウを作成し、その中で動画を再生する方法もあります。
ウインドウの作成がある分、①のWindowsMediaPlayerを使用するよりも少し準備が手間です。

(1)シート内に動画再生用のウインドウを作成する

以下の手順でシート内に動画再生のウインドウを作成します。

①「開発タブ」をクリック

②「挿入」をクリックし、表示されたコントロールの中から右下にある「コントロールの選択」をクリックする

③表示されたウインドウの中から「Windows Media Player」を選択し、OKをクリックする。

④シートの中の任意の位置をドラッグするとそのサイズの動画再生用のウインドウが表示されます。

左上の「WindowsMediaPlayre1」というのがこのウインドウの名前になります。
VBAコードを作成するときにこの名前を使用します。

動画で見たい方はこちらを参考にしてみてください。

(2)ウインドウ内で動画を再生するVBAコード

以下のVBAコードを実行するとExcelファイルと同じフォルダに入っている○○.mp4という名前の動画ファイルが作成したウインドウ内で再生されます。

Sub 動画再生ウインドウ内()
Dim FilePath As String
FilePath = ThisWorkbook.Path & “\” & “○○.mp4”
Sheets(1).WindowsMediaPlayer1.URL = FilePath ’シート1に作成したWindowsMediaPlayer1にファイルを紐づける
Call Sheets(1).WindowsMediaPlayer1.Controls.Play ’紐づけたファイルを再生する
End Sub

動画再生のマクロの活用案

元データをコピーできないようにガードをかけて、その上でVBAを使って動画を再生できるシステムにする予定で動画再生するVBAコードを考えてみましたが、どうやってもうまくいかなくて動画再生だけになってしまいました。

動画ファイルをパスワード付きZipファイルに入れておいて、VBAを使って解凍して動画再生し、その後解凍したファイルを削除するという手順なら実行できそうな気もします。
今のところZipを解凍する具体的なVBAコードは思いつかないので、また思いついたらご紹介します。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする