ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Adding sount to a macro (https://www.excelbanter.com/excel-programming/415693-adding-sount-macro.html)

Art

Adding sount to a macro
 
Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Office_Novice

Adding sount to a macro
 
Hi Art, I Have modified this a bit give it a try


Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav", False
Debug.Print "This is visible while the sound is playing..."
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav", True
Debug.Print "This is visible after the sound is finished playing..."
End Sub


"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Office_Novice

Adding sount to a macro
 
Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Art

Adding sount to a macro
 
Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Office_Novice

Adding sount to a macro
 

Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Art

Adding sount to a macro
 
I followed your instructions exactly and an error message comes up, "compile
Error: Sub or function not defined". What do I do now? please help. Thanks
for your help.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Art

Adding sount to a macro
 
I have Office 2007, if that makes a difference.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Office_Novice

Adding sount to a macro
 
I will try the code on 2007 over the weekend and get back with you on monday,
Unfortunately i dont have €˜07 at the office.
"art" wrote:

I have Office 2007, if that makes a difference.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Art

Adding sount to a macro
 
Thank you very much. I really appriciate it.

"Office_Novice" wrote:

I will try the code on 2007 over the weekend and get back with you on monday,
Unfortunately i dont have €˜07 at the office.
"art" wrote:

I have Office 2007, if that makes a difference.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Office_Novice

Adding sount to a macro
 
OK, I tried this on xl 2007 and 2003 And had no trouble, Keep trying you'll
figure it out. Let me know if i can be more help.

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub


"art" wrote:

Thank you very much. I really appriciate it.

"Office_Novice" wrote:

I will try the code on 2007 over the weekend and get back with you on monday,
Unfortunately i dont have €˜07 at the office.
"art" wrote:

I have Office 2007, if that makes a difference.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Art

Adding sount to a macro
 
It still says function not defined and PlayWavFile seems to be the problem.
Could it be that microsoft took out this function. I keep trying but does not
work. Am I missing something?

"Office_Novice" wrote:

OK, I tried this on xl 2007 and 2003 And had no trouble, Keep trying you'll
figure it out. Let me know if i can be more help.

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub


"art" wrote:

Thank you very much. I really appriciate it.

"Office_Novice" wrote:

I will try the code on 2007 over the weekend and get back with you on monday,
Unfortunately i dont have €˜07 at the office.
"art" wrote:

I have Office 2007, if that makes a difference.

"Office_Novice" wrote:


Follow these steps
1) open Excel
2) Tools--Macro--Visual Basic Editor
This Is the "VBE"
3)in the VBE go to veiw--project explorer

On the left hand side of the VBE you should see a file tree looking thing
5) Click VBA Project(yourfilenamehere)

that should reveal Sheet1,2, and 3 and this workbook

6) double click this workbook and Copy and paste this

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Sub PlayWavFile(WavFileName As String)
sndPlaySound WavFileName, 1
End Sub

7) Double click the Sheet1 module and paste this
Sub TestPlayWavFile()
PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"
End Sub

8) Close the VBE and return to excel

9) Veiw -- Toolbars -- forms
10) Drag the command button to the worksheet
11)Right Click the button --Assign Macro
12) Select TestPlayWavFile
13) Click OK
14) Close the forms ToolBar

Test out your wav button good luck.

"art" wrote:

Looks like I am missing something. How do I start? I add a button from the
form control and add a new macro and copy and paste your vba? Please let me
know because this thing is "bugging" me. Thanks.

"Office_Novice" wrote:

Siplified and commented good luck

Option Explicit
Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'EveryThing From Here Up Should be the First two lines of code

Sub PlayWavFile(WavFileName As String)
'This is its own procedure

sndPlaySound WavFileName, 1
End Sub


Sub TestPlayWavFile()

'Put this line of code in your macro

PlayWavFile "C:\WINDOWS\Media\Windows XP Startup.Wav"

End Sub





"art" wrote:

Hello:

Can somebody explain to me how to add a sound file to a macro. I need exact
instructions, since what I got (below) does not seem to work for some reason,
and error comes up. Can you please explain how to do it exactly?


Here is what I have:

Public Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long


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


Sub TestPlayWavFile()
PlayWavFile "c:\foldername\soundfilename.wav", False
MsgBox "This is visible while the sound is playing..."
PlayWavFile "c:\foldername\soundfilename.wav", True
MsgBox "This is visible after the sound is finished playing..."
End Sub



Mark de Niet

Sub or Function not defined..
 
Hi, I see that I'm like what, almost 2 months late and you probably already found a solution, but I stumbled upon these posts since I was looking for a hint for how to play .wav files in excel (triggered by a time event, btw).
Had this error message all the time: "sub or function not defined", and the problem seemed to be with the PlayWavFile. The error didn't occur anymore after I put the "ThisWorkbook" class or reference or whatsitcalled in front of it. The Sub procedure is in my Module1 and apparently, if i call a procedure From the Module, I need to refer to it, not as "PlayWavFile", but "ThisWorkbook.PlayWavFile". Otherwise the compiler doesn't find it ("not defined")
Cheers


All times are GMT +1. The time now is 10:13 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com