- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで音楽を再生させた後)
VBAで音楽再生後、Windows Media Playerを自動で閉じる方法
このQ&Aのポイント
- VBAで音楽再生後、Windows Media Playerを自動で閉じる方法を教えてください。
- VBAを使用して音楽を再生させた後、手動でWindows Media Playerを閉じる必要がありますか?
- VBAで音楽を再生させた後、Windows Media Playerを自動的に閉じる方法はありますか?
- みんなの回答 (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
お礼
回答ありがとうございました。