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

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

【動画】Excelのフォーム上で動画を再生する実際の動き

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


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

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

マクロ作成の流れ

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

フォームの例

今回は次のフォームを作成しました。

コントロールの設置

①Windows Media Playerの設置

このフォーム上にWindows Media Playerを設置します。

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

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

「表示」→「ツールボックス」をクリックします。

(2)「ツールボックス」画面を右クリックして「その他のコントロール」をクリックする

「ツールボックス」画面を右クリックして「その他のコントロール」をクリックします。

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

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

(4)「ツールボックス」画面に「Windows Media Player」のアイコンが追加されたのでクリックする

「ツールボックス」画面に「Windows Media Player」のアイコンが追加されたのでクリックします。

(5)フォーム上に「Windows Media Player」を設置する

フォーム上に「Windows Media Player」を設置します。

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

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

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

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

テキストボックスには「txt_mvFPath」という名前を付けています。

コードの例

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

Option Explicit

Private Sub btn_mvPathGet_Click()

    With WindowsMediaPlayer1
    
        '動画のフルパスを取得する
        .Url = txt_mvFPath.Text
    
    End With

End Sub

Private Sub UserForm_Initialize()

    With WindowsMediaPlayer1

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

    End With

End Sub

Private Sub WindowsMediaPlayer1_StatusChange()

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

End Sub

コードの解説

注目すべきコード①

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

Private Sub btn_mvPathGet_Click()

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

注目すべきコード②

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

    With WindowsMediaPlayer1
    
        '動画のフルパスを取得する
        .Url = txt_mvFPath.Text
    
    End With

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

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

上記のコードは、テキストボックス「txt_mvFPath」に入力された動画のフルパスをurlプロパティに設定しています。

注目すべきコード③

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

Private Sub UserForm_Initialize()

    With WindowsMediaPlayer1

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

    End With

End Sub

フォームのInitializeイベント発生時に「Windows Media Player」の縦横のサイズを調整しています。

注目すべきコード④

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

Private Sub WindowsMediaPlayer1_StatusChange()

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

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

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

注目すべきコード⑤

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

    With WindowsMediaPlayer1
        
        'WindowsMediaPlayerのサイズ(縦横)を再設定する※お好みのサイズで
        .Width = 462
        .Height = 348
        
    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週間 無料体験」はこちら