Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"Beep" bringt Fehlermeldung

"Beep" bringt Fehlermeldung
07.03.2023 11:40:53
Herbert_Grom
Hallo,
Beep bringt plötzlich eine Fehlermeldung "Fehler beim Kompilieren: Argument ist nicht optional"! Ich habe schon folgendes erfolglos getestet (von Mumpel):
#If Win64 Then
  Private Declare PtrSafe Function beep Lib "kernel32" Alias "Beep" _
                                            (ByVal dwFreq As LongPtr, _
                                             ByVal dwDuration As LongPtr) As LongPtr
#Else
  Private Declare Function beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, _
                                                             ByVal dwDuration As Long) As Long
#End If

Habt ihr evtl. eine Idee, woran das liegen kann? Fehlt da evtl. ein "Verweis"? Wenn jan, aber welcher?
Servus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Beep" bringt Fehlermeldung
07.03.2023 13:24:51
JoWE
Hallo,
so?
Private Declare PtrSafe Function beep Lib "kernel32" Alias "Beep" _
 (ByVal dwFreq As LongPtr, ByVal dwDuration As LongPtr) As LongPtr
Private Sub TestSoundC()
 beep 264, 1000 ' sollten alle C sein
 beep 528, 1000
 beep 792, 1000
End Sub
und noch'n Link
https://www.online-excel.de/excel/singsel_vba.php?f=12
Gruß
Jochen
AW: "Beep" bringt Fehlermeldung
07.03.2023 19:40:29
volti
Hallo Jochen,
die Beep-Function liefert kein Handle zurück, es bleibt bei LONG. Es muss lediglich PtrSafe ergänzt werden.
https://www.clever-excel-forum.de/Thread-API-Viewer>/a>
Code:


#If VBA7 Then Private Declare PtrSafe Function Beep Lib "kernel32" ( _ ByVal dwFreq As Long, ByVal dwDuration As Long) As Long #Else Private Declare Function Beep Lib "kernel32" ( _ ByVal dwFreq As Long, ByVal dwDuration As Long) As Long #End If

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: "Beep" bringt Fehlermeldung
08.03.2023 10:19:50
Herbert_Grom
Hallo Jochen, Karl-Heinz und Onur,
vielen Dank für euere Antworten.
@Jochen: Dein Tipp funktioniert. Doch seit wann braucht "Beep" noch Parameter? Bis vor gar nicht so langer Zeit ging das doch auch ohne! Hast du evtl. eine Idee, welcher Parameter dem bisherigen Beep-Sound am nächsten kommt?
@Karl-Heinz: Dein Tipp funktioniert leider nicht. Die Fehlermeldung kommt immer noch.
@Onur: Das ist mir bekannt, doch bekomme ich plötzlich besagte Fehlermeldung.
Servus
AW: "Beep" bringt Fehlermeldung
11.03.2023 08:40:46
volti
Hallo Herbert,
nur mal so als späte Ergänzung.
Dieses funktioniert bei mir (64 Bit) absolut ohne Fehlermeldung. Warum auch immer es bei Dir anders ist.
Die LongPtr-Angabe ist wahrscheinlich doch eher unkritisch, braucht es aber nicht. Siehe neben API-Viewer auch andere Beispiele im Netz.
#If VBA7 Then
    Private Declare PtrSafe Function Beep Lib "kernel32" ( _
            ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#Else
    Private Declare Function Beep Lib "kernel32" ( _
            ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
#End If
Private Sub TestSoundC()
  Beep 264, 1000 ' sollten alle C sein
  Beep 528, 1000
  Beep 792, 1000
End Sub
Gruß
Karl-Heinz
Anzeige
AW: "Beep" bringt Fehlermeldung
07.03.2023 13:29:43
onur
Den Befehl BEEP gibt es schon in VBA.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige