Anzeige des Meldungsfelds und Ton gleichzeitig - VBA

973
First Last

Im folgenden Code wird der Song zuerst abgespielt, woraufhin die Nachricht angezeigt wird. Wie werden die Message Box und die Sound Play-Funktion gleichzeitig im nachstehenden Code angezeigt ?

Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As LongPtr, ByVal  dwFlags As Long) As Boolean  Private Sub CommandButton1_Click() Call PlaySound("c:\windows\media\tada.wav", 0, SND_ASYNC Or SND_FILENAME) Msgbox "Process completed successfully." End Sub 
0
Die msgbox wird sofort angezeigt und ist nicht davon abhängig, dass Sie OK drücken, um die nächste Zeile auszuführen. Warum tauschen Sie nicht einfach die Rufnummern playound und msgbox um? spikey_richie vor 5 Jahren 295
@spikey_richie `MsgBox` wird modal angezeigt und hält die Ausführung an, bis sie zurückkehrt (= der Benutzer lehnt sie ab). Der Ton wird nur abgespielt, wenn der Dialog geschlossen ist. Inarion vor 5 Jahren 297
Können Sie auch die Zuordnungen für `SND_ASYNC` und` SND_FILENAME` anzeigen? (Obwohl ich davon ausgehe, dass letzteres korrekt eingestellt ist, wird sonst der falsche Ton abgespielt.) Inarion vor 5 Jahren 295

0 Antworten auf die Frage