Playing a WAV file in Excel 2002

C

chalky

I have the following code to play a WAV file in excel:

Sub PlayWavFile(WavFileName As String, Wait As Boolean)
If Dir(WavFileName) = "" Then Exit Sub ' no file to play
If Wait Then ' play sound before running any more code
sndPlaySound WavFileName, 0
Else ' play sound while code is running
sndPlaySound WavFileName, 1
End If
End Sub

where the file name is c:\accounts\05\temp\sound.wmv

I am really struggling to put this macro together, can anyone lay it
out in a slightly easier to follow format?

Thanks
chris
 
C

chalky

Ah thanks for this - no wonder it wasnt working, my system isnt
supporting it.

Thanks
Chris
 
C

chalky

I have managed to procure a laptop wherre this macro looks like it will
work fine. The formula used is as follows:

Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Sub PlayWAV()
WAVFile = "Noise-2.wav"
WAVFile = ThisWorkbook.Path & "\" & WAVFile
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Sub

However, when i run it i get the following error:

run-time error '453'

Can't find DLL entry point playsounda in winmm.dll

Any ideas?
 
T

Tom Ogilvy

Best I can tell you is that this worked fine for me:

Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Sub PlayWAV()
'WAVFile = "Noise-2.wav"
WAVFile = "C:\WINDOWS\MEDIA\Chimes.wav"
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Sub

Windows XP Professional
Excel 2003
 
T

Tom Ogilvy

Also worked unchanged in

Windows 98 SE
Excel 97

--
Regards,
Tom Ogilvy

Tom Ogilvy said:
Best I can tell you is that this worked fine for me:

Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Sub PlayWAV()
'WAVFile = "Noise-2.wav"
WAVFile = "C:\WINDOWS\MEDIA\Chimes.wav"
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Sub

Windows XP Professional
Excel 2003
 
C

chalky

This code seems to be running the macro now but no sound is coming out!
I have checked the volume and that is fine - i am at a lose!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top