PDA

View Full Version : Solved: sound with msgbox



Ger
03-04-2008, 02:53 AM
Is it possible to make a sound if the msgbox appears?

Private Sub Worksheet_Change(ByVal Target As Range)

If [ge141] <> [ge142] Then
MsgBox "Deze invoer is onjuist"
End If

End Sub

Ger:think:

Charlize
03-04-2008, 02:59 AM
You could use MsgBox "Deze invoer is onjuist",vbCriticalI believe it uses the sounds that are declared within your windows OS.

Charlize

Ger
03-04-2008, 03:05 AM
Sorry, no sound.

Ger

anandbohra
03-04-2008, 04:40 AM
try beep


eg

sub msgbeep()
msgbox "blah blah blah",vbokonly
beep

end sub

Charlize
03-04-2008, 04:51 AM
Variation with the music you want. You can record your own wav files if you want.Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub PlaySound()
Dim v_mysound As String
v_mysound = "c:\data\mysounds\tada.wav"
If Application.CanPlaySounds Then
Call sndPlaySound32(v_mysound, 1)
MsgBox "Give me some music ..."
Else
MsgBox "Sorry no music"
End If
End SubCharlize

Ger
03-04-2008, 05:16 AM
I think it doens't work because i use it on a worksheet and not on a module.

Ger

Bob Phillips
03-04-2008, 05:32 AM
It is not that, it works fine triggered by the change event. Sure you don't have sound muted?

Charlize
03-04-2008, 06:08 AM
I think it doens't work because i use it on a worksheet and not on a module.

GerPrivate Sub Worksheet_Change(ByVal Target As Range)
If [ge141] <> [ge142] Then
Call PlaySound
End If
End Suband PlaySound is located in a module.

Charlize

ps.: maybe check your cables, muted or not, volume, ... do you have a soundcard ?

variation :
Private Sub Worksheet_Change(ByVal Target As Range)
If [ge141] <> [ge142] Then
Call PlaySound("c:\data\mysounds\tada.wav")
End If
End Sub
in a module you place :Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub PlaySound(v_mysound As String)
If Application.CanPlaySounds Then
Call sndPlaySound32(v_mysound, 1)
MsgBox "Give me some music ..."
Else
MsgBox "Sorry no music"
End If
End Sub

Ger
03-04-2008, 07:51 AM
Ok.

Now it works fine.

Thanks

Bob Phillips
03-04-2008, 08:15 AM
So what was the problem?

Ger
03-05-2008, 01:03 AM
The path to the sound file in the worksheet didn't work. if i put it in the module it works fine.
(worksheet)
Private Sub Worksheet_Change(ByVal Target As Range)

If [ge119] <> [ge120] Then
Call PlaySound
End If

End Sub

(module)
Option Explicit
Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Sub PlaySound()
Dim v_mysound As String
v_mysound = "j:\zuid\zml\vpm\jaarplanner vpm\52.wav"
If Application.CanPlaySounds Then
Call sndPlaySound32(v_mysound, 1)
MsgBox "Deze invoer is niet correct"
Else
MsgBox "Sorry no music"
End If
End Sub


Ger