• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで音楽を再生させた後)

VBAで音楽再生後、Windows Media Playerを自動で閉じる方法

このQ&Aのポイント
  • VBAで音楽再生後、Windows Media Playerを自動で閉じる方法を教えてください。
  • VBAを使用して音楽を再生させた後、手動でWindows Media Playerを閉じる必要がありますか?
  • VBAで音楽を再生させた後、Windows Media Playerを自動的に閉じる方法はありますか?

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

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

Book以外のウィンドウをすべて閉じた状態でなら以下でほぼ失敗はないと思いますが 不安定なsendkeysなので。。。 それと、待ち時間を4秒に固定してあるので、ここは曲の長さ+2秒くらいがいいかと思います。  これらのことを勘案すると、シートかuserformにWindows media player コントロールを配置してそのプロパティを使ってコントロールするのが妥当です。マルチメディアファイルの構造の勉強が必要になりますが、今回ご呈示のような簡易な再生でなく曲の長さなども取得できるのですべてをきちんと処理できます。   あるいは、mcisendstringというAPIもよく使われるようです。コマンドを指定していくだけなのですが、間違っていてもエラーメッセージが出ないことが多いので、よく調べないとうまく再生できない場合が多くなります。 Sub 終了音を鳴らす() Dim SoundFile As String Application.Visible = False SoundFile = "C:\test\ringout.wav" Shell "c:\program files\windows media player\wmplayer.exe \play \close " & SoundFile, vbNormalFocus DoEvents: DoEvents: DoEvents Application.Wait Now() + 4 / 86400 DoEvents: DoEvents: DoEvents SendKeys "%FX" Application.Visible = True End Sub

MPZAIOYCON
質問者

お礼

回答ありがとうございました。

関連するQ&A