Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#9
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#10
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#11
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#12
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Adding a new row with a macro | Excel Discussion (Misc queries) | |||
Adding to a Macro | Excel Discussion (Misc queries) | |||
Adding a Tab in a Macro | Excel Discussion (Misc queries) | |||
adding macro | Excel Programming | |||
Adding Row to this macro | Excel Discussion (Misc queries) |