• ベストアンサー

VBAによる動画再生

お世話になります。 エクセルのVBAを使って,動画を再生するマクロを組みました。以下のページを参考に作りましたが,エクセルのファイルを立ち上げると,自動的に動画再生が始まってしまいます。再生開始ボタンをクリックしたときに動画再生をしたいのですが,どうすればいいでしょうか。 皆様のお力をお貸しください。使っているのはエクセル2010,Windows8です。 よろしくお願いします。 参考URL http://ch3cooh.jp/excel-2003/play-movie-using-excel-vba/

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

停止ボタンも作成し、以下のマクロを登録してみてください。 Sub CloseMovie() WindowsMediaPlayer1.URL = "" End Sub Excelを保存して終了する際は、必ず上記の停止ボタンを押して終了するようにしてみてください。

mine2309
質問者

お礼

何度も,本当にありがとうございます。 教えていただいたようにやってみましたが,うまくいきませんでした。 もう一度細かい部分などもしっかりとチェックして,No.1~No.3で教えていただいたことをやってみます。 お手を煩わせてしまってすみません。 大変感謝いたします。

mine2309
質問者

補足

昨日はありがとうございました。 VBAの最後に Call WindowsMediaPlayer1.Close を入れて,いったん強制的に再生をストップさせるようにしました。少し強引な手法でスマートなやり方ではないかもしれませんが,なんとかそれで解決いたしました。 今後ともよろしくお願いします。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

>ThisWorkbookをチェックしてみましたが ThisWorkbookではなく、[Windows Media Player Object]をダブルクリックして表示されるシートモジュールにコードは記述されていますか? その参考URLの場合Sheet1です

mine2309
質問者

お礼

何度もありがとうございます。 windows media player objectをダブルクリックで表示されるところには Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long) End Sub Sub PlayMovie() Dim FilePath As String Call WindowsMediaPlayer1.Close FilePath = ThisWorkbook.Path & "\" & "ファイル名.wmv" WindowsMediaPlayer1.URL = FilePath Call WindowsMediaPlayer1.Controls.Play End Sub 以上の記述しか見当たらないのですが。VBAには慣れていないのですみません。

すると、全ての回答が全文表示されます。
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

私の環境では参考URLだけをしてもファイル立ち上げだけでは自動再生されません。 ThisWorkbookに以下のような記述があるんじゃないでしょうか? 消してみてください。 Private Sub Workbook_Open() Call Sheet1.PlayMovie End Sub

mine2309
質問者

お礼

ご教授ありがとうございます。 ThisWorkbookをチェックしてみましたが FilePath = ThisWorkbook.Path & "¥" & "ファイル名.wmv" WindowsMediaPlayer1.URL = FilePath Call WindowsMediaPlayer1.Controls.Play End Sub となっているだけで,ご指摘いただいたような記述はありませんでした。相変わらず,自動的に再生されてしまいます。

すると、全ての回答が全文表示されます。

関連するQ&A