プロが教える店舗&オフィスのセキュリティ対策術

Excel VBA
VBAの進行を止めずに音声ファイルを再生する方法

現在VBAで以下のコードで音声を再生しています。しかしこの方法だとファイル再生中は
プログラムの進行が停止します。進行を止めずに少なくとも10秒程度のファイルを再生する方法をご教示ください。
なお条件によって都度違う音声ファイルを1回だけ再生します。


Public Declare Function 音 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal ファイルの場所 As String, ByVal 制御フラグ As Long) As Long
Public a As Long 'aは音声を出す値を返すための変数

a = 音("C:\短メロ\音声ファイル名.wav", 2)

A 回答 (2件)

そんじゃ、PlaySoundの解説URL



http://home.att.ne.jp/zeta/gen/excel/c04p04.htm
    • good
    • 0
この回答へのお礼

noah7150さん、さっそくご回答いただきありがとうございました。
長い間不便を我慢していましたが、どうしても少し長いファイルを再生したく投稿しました。
PlaySound を研究して使ってみます。

お礼日時:2009/01/27 15:31

http://msdn.microsoft.com/en-us/library/ms713269 …
いくつかは知らないがSND_ASYNCに対応する値を第二引数に与えればよいようです。

#いくつか知らないので検証はしてない

#なお、sndPlaySoundは後方互換用に残してある関数らしくPlaySoundを使って欲しい、とMSDNに書かれていました。
    • good
    • 0
この回答へのお礼

himajin100000さん早速回答していただきありがとうございます。
PlaySound を研究して試して見ます。
ありがとうございました。

お礼日時:2009/01/27 15:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!