【ExcelVBA】Excelのシート上で動画を再生する方法について

この記事では、Excelのシート上で動画を再生する方法についてご説明します。

【動画】Excelのシート上で動画を再生する実際の動き

本題に入る前に、まずは次の動画をご覧ください。


動画の再生はWindowsMediaPlayerを使います。

Excelのシート上にWindowsMediaPlayerを設置し、動画を再生しています。

マクロ作成の流れ

STEP.1
【コントロール】WindowsMediaPlayerをシート上に設置する
WindowsMediaPlayerをシート上に設置します。
STEP.2
【マクロ】動画のフルパスを取得する
動画のフルパスを取得します。
動画のフルパスを取得すると動画が再生されます。

Excelファイルの例

今回は次のExcelファイルを作成しました。

コントロールの設置

①Windows Media Playerの設置

このExcelファイルにWindows Media Playerを設置します。

設置は次の通りに行います。

①「コントロールの選択」のアイコンをクリックする

「開発」→「挿入」→「コントロールの選択」のアイコンをクリックします。

②「コントロールの選択」画面で「Windows Media Player」を選択してOKボタンをクリックする

「コントロールの選択」画面で「Windows Media Player」を選択してOKボタンをクリックします。

③マウスアイコンが変わる

マウスアイコンが変わります。(私の環境ではマウスアイコンが「+」に変わりました)

④Windows Media Playerを設置する

Windows Media Playerを設置します。

下の通りにWindows Media Playerが設置されました。

以上で「Windows Media Player」の設置が完了しました。

②動画のパスを取得するボタンの設置

「Windows Media Player」で動画を再生する動画を読み込ませるのに、今回は動画のパスを取得するボタンを設置しています。

なお、動画のパスを取得するボタンの上に、読み込ませる動画のフルパスを入力するセルを用意しています。

セルには「mvFPath」という名前を付けています。

コードの例

Excelのマクロのコード(例)

Option Explicit

Private Sub btn_mvPathGet_Click()
    
    With WindowsMediaPlayer1

        '動画のフルパスを取得する
        .Url = Worksheets("work").Range("mvFPath").Value
    
    End With
    
End Sub

Private Sub WindowsMediaPlayer1_StatusChange()

    With WindowsMediaPlayer1
        
        'WindowsMediaPlayerのサイズ(縦横)を再設定する※お好みのサイズで
        .Width = 437.25
        .Height = 297

    End With

End Sub

コードの解説

注目すべきコード①

最初に見て頂きたいのは3行目です。

Private Sub btn_mvPathGet_Click()

動画のパスを取得するボタンをクリックすると呼ばれるイベントです。

注目すべきコード②

次に見て頂きたいのは5行目から10行目です。

    With WindowsMediaPlayer1

        '動画のフルパスを取得する
        .Url = Worksheets("work").Range("mvFPath").Value
    
    End With

以上は、「Windows Media Player」に動画を読み込ませる設定を行っているコードです。

動画を読み込ませるには、8行目のurlプロパティに動画のフルパスを設定します。

上記のコードは、mvFPathという名前のセルに入力された動画のフルパスをurlプロパティに設定しています。

注目すべきコード③

次に見て頂きたいのは14行目です。

Private Sub WindowsMediaPlayer1_StatusChange()

StatusChangeイベントは、「Windows Media Player」のstatusプロパティの値が変更されたときに呼ばれるイベントです。

今回はこのStatusChangeイベント発生時に処理を追加していきます。

なお、StatusChangeイベントが呼ばれると動画が再生されます。

注目すべきコード④

次に見て頂きたいのは16行目から22行目です。

    With WindowsMediaPlayer1
        
        'WindowsMediaPlayerのサイズ(縦横)を再設定する※お好みのサイズで
        .Width = 437.25
        .Height = 297
    End With

このコードは、「Windows Media Player」の縦と横のサイズを再調整しているコードです。

なぜわざわざサイズの再調整をしているのかというと、動画が再生されると「Windows Media Player」が、読み込んだ動画のサイズに縦と横のサイズを合わせてしまうからです。

例えば1000×1000のサイズの動画を「Windows Media Player」で再生しようとすると、「Windows Media Player」のサイズが1000×1000のサイズに変更されてしまいます。

「Windows Media Player」の縦横のサイズを300×300に設定していたのに、1000×1000のサイズに変更されたらびっくりしますよね…(^-^;

なので、「Windows Media Player」の縦と横のサイズを再調整しています。

動作確認

マクロ実行前

「Windows Media Player」をExcelのシートに設置した状態。

読み込ませる動画のフルパスを入力するセル(黄色に色付けされたセル)に動画のパスを入力。

マクロ実行後:「動画のパスを取得」ボタンクリック後

「動画のパスを取得」のボタンをクリックすると、読み込ませる動画のフルパスを入力するセルに入力された動画が再生されました。

なお、動画の停止や再度動画の再生、音量の調整といった操作は、「Windows Media Player」の操作と同じなので簡単に操作できると思います。

最後に

本記事では、Excelのシート上で動画を再生する方法についてご説明しました。

Excelで動画を再生したり、動画ファイルをExcelで管理しているときに、再生して内容を確認したりするのに便利だと思います。

Excelのシート上で動画を再生したい時には参考にしてみてくださいね。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら