Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bei Erscheinen einer MsgBox zeitgleich der Ton
#1
Hallo.
Nach meinem ersten Post habe ich nun mittels des Forum eine schoene Tabelle mit diversen Button, hinterlegt mit Makros, erstellt.
Dank der Hilfe hier im Forum und des intensiven Lesens laeuft alles perfekt und erleichtert die Arbeit ungemein.

Eine kleine Frage haette ich noch:
Bei Klick eines Button erscheint eine Msg. Zusaetzlich wird ein Sound abgespielt. 
Die MsgBox soll mit ok bestaetigt werden damit sie sichtbar und auch lesbar ist.
So weit so gut.
Mit dem Makro wird der Sound abgespielt und ca. 2 - 3 Sekunden spaeter erscheint die Box.

Ist es moeglich, speziell den Ton fuer x Sekunden herauszuzoegern? 
Weil setzte ich den Befehl MsgBox zuerst geht das Makro erst mit ok weiter und der Ton kommt, wenn die Box weg ist.
Ich habe nach diversen Timern geschaut aber gefunden habe ich nur welche, die, nachdem ich sie probiert hatte, das gesamte Makro kurz anhalten.

Private Sub CommandButton4_Click()
ExecuteExcel4Macro ("SOUND.PLAY(,""C:\Windows\Media\tada.wav"")")
MsgBox "Text"
End Sub

Ueber Hilfe wuerde ich mich freuen.

Gruss
Markus
Antwortento top
#2
UserForm
Hallo Markus

Nimm eine UserForm
Den Text schreibst du in ein Label (Caption)
Der Code lautet dann,
Code:
Private Sub CommandButton4_Click()
UserForm1.Show vbModeless
    DoEvents
        ExecuteExcel4Macro ("SOUND.PLAY(,""C:\Windows\Media\tada.wav"")")
End Sub
Gruss Guschti
Der Künstler lebt auch vom Applaus
[-] Folgende(r) 1 Benutzer sagt Danke an Guschti für diesen Beitrag:
  • eboger
Antwortento top
#3
Eine Lösung wäre
Code:
MsgBox "Please Run Program First", vbExclamation

Das spielt dann einen Windows-Ton und nicht den Ton der von Dir genannten Datei.

Eine andere Lösung wäre
Code:
Option Explicit

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

Sub TestSound()
   Call sndPlaySound32("C:\windows\media\tada.wav", 1)
   MsgBox "Please Run Program First"
End Sub
Da sndPlay32 mut dem Flag 1 aufgerufen wird, wird der Code weiter ausgeführt, hier eine Doku dazu
[-] Folgende(r) 1 Benutzer sagt Danke an Storax für diesen Beitrag:
  • eboger
Antwortento top
#4
Vielen Dank euch beiden.

Die einfachste und schnellste Methode war für mich:


Code:
MsgBox "Please Run Program First", vbExclamation

Ich habe anschließend den Windows Ton auf tada.wav geaendert und fertig wars.

Recht herzlichen Dank

Markus
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste