• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaで鳴らした音楽を止めたい)

VBAで音楽を止める方法

このQ&Aのポイント
  • VBAのAPIを使用して音楽を再生した後、曲が終了する前に音楽を停止したいです。
  • Option Compare Database、Option Explicitを指定した上で、mciSendString関数を使用して音楽ファイルを制御します。
  • しかし、現在のコードでは音楽が停止せず、エラーも発生しません。どこが間違っているのでしょうか?

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

こちらを試していらっしゃるのでしょうか? http://officetanaka.net/excel/vba/tips/tips22.htm UserFormにテキストボックス1個、コマンドボタン2個を置き、 UserFormを表示後、テキストボックスにmp3のファイルのフルパスを入力後、ボタン1を押すと再生開始、ボタン2を押すと中断できました。xl2010、Windows7(64bit) Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _ (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _ ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long Dim SoundFile As String Private Sub CommandButton1_Click() Dim rc As Long SoundFile = Chr(34) & Me.TextBox1.Value & Chr(34) ' DoEvents: DoEvents: DoEvents '無くても大丈夫そうです rc = mciSendString("Open " & SoundFile, "", 0, 0) rc = mciSendString("Play " & SoundFile, "", 0, 0) '非同期モードである事に留意 End Sub Private Sub CommandButton2_Click() Dim rc As Long rc = mciSendString("Close " & SoundFile, "", 0, 0) End Sub

JQINCEYCIVGQK
質問者

お礼

そうです そのサイトです。 どうやらフォルダに空白があるからエラーになっていたようです。 SoundFile = Chr(34) & Me.TextBox1.Value & Chr(34) これを追加することによって解決しました。 お騒がせしました。ありがとうございます。

関連するQ&A

専門家に質問してみよう