mciSendStringを使ってmidファイルを再生しようとしているのですが
2回目から失敗します。
mciCommand = "Open " & fName & " alias MIDI1"
Debug.Print mciSendString(mciCommand, vbNullString, 0, 0)
ここで、初回は0(正常終了)
2回目から289が返ります。
どこが悪いのかご教示お願いいたします。
Sub test(ByVal fName As String)
mciCommand = "Open " & fName & " alias MIDI1"
Debug.Print mciSendString(mciCommand, vbNullString, 0, 0)
mciCommand = "Play MIDI1"
Debug.Print mciSendString(mciCommand, vbNullString, 0, 0)
mciCommand = "Stop MIDI1"
Debug.Print mciSendString(mciCommand, vbNullString, 0, 0)
End Sub
すみません。
環境は、EXCEL2002 VBAです。
よろしくお願いいたします
mciGetErrorString APIで、コード289について調べてみると、
『指定されたエイリアスはこのアプリケーションで既に使用されています。
一意のエイリアスを使用してください。』
というメッセージになりますね。
デバイスにエイリアス(alias:別名)を割り当てた場合には、その後のコマンドで、
そのエイリアスをデバイスIDとして使用しなければならない事に注意してください。
# というよりも、openだけして、closeが無い点が微妙に気になる……。
魔界の仮面弁士さん、有難うございます。
> # というよりも、openだけして、closeが無い点が微妙に気になる……。
あ!
mciCommand = "Close MIDI1"
Debug.Print mciSendString(mciCommand, vbNullString, 0, 0)
でした。
「開けたら閉めましょう」でした。
ツイート | ![]() |