Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: "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
Anzeige

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
Anzeige
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
Anzeige
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.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige