Wav Warning Upon Attempt to Close Userform

G

golf4

Hi, everyone -

While watching one of my staff use my rent calculation tool this
morning, I noticed that when the initial splash screen appeared, she
would just close the "X" Close button in the upper right hand corner.
I want to prevent this.

I did my Search (proud of me, heh???), and found the exact code I
needed. To enforce the msg box, I also want to include a wav if the
Close button is pressed. I, kind of, messed with my code below, but it
doesn't seem to work ---looking to have the wav play at the same time
as the msg box.

Private Sub UserForm_QueryClose _
(Cancel As Integer, CloseMode As Integer)
'Prevents use of the Close button'

Application.ScreenUpdating = True
DoEvents
ActiveSheet.Shapes("object 204.wav").Select
Selection.Verb Verb:=xlPrimary

If CloseMode = vbFormControlMenu Then
MsgBox "YOU SHOULD NOT BE CLOSING THIS FORM!!!"
Cancel = True
End If
End Sub

Any help would be fantastic.

Thanks,

Golf
 
G

Greg Koppel

Hello Golf,

I am pretty sure I found this code in this forum. I haven't tested, but it
looks right.

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

Sub PlayMe1()
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Dim retval As Long
retval = PlaySound("C:\My folder\my subfolder\wav1.wav", _
0, SND_ASYNC Or SND_FILENAME)
End Sub

HTH, Greg
 
G

golf4

Hi, Greg -

Thanks for your response. When you try to write these code strips at
around 12:00 midnight, your brain isn't necessarilly moving on all
thrusters.....

Right after I posted my query, I remembered that I first needed to
unprotect the sheet where I had my object embedded. Once I did this,
it worked fine. I've posted the code I worked up down below:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As
Integer)
'Prevents use of the Close button'

If CloseMode = vbFormControlMenu Then

Sheets("data_entry_sheet").Unprotect ("led52not")
Application.ScreenUpdating = True
DoEvents

ActiveSheet.Shapes("object 211.wav").Select
Selection.Verb Verb:=xlPrimary
Sheets("data_entry_sheet").Protect ("led52not")

MyTimer = Timer

Do
Loop While Timer - MyTimer < 2

MsgBox "YOU SHOULD NOT BE CLOSING THIS SCREEN IN THIS FASHION!!!"

Cancel = True
End If
End Sub

Using this code, my warning wav will play then pop up the msgbox when
one of my employees tries to "X" out of my initial splash screen.

Thanks for the help,

Golf
 

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