View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
Art Art is offline
external usenet poster
 
Posts: 587
Default 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