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

Prüfen ob Zwischenablage leer ist

Forumthread: Prüfen ob Zwischenablage leer ist

Prüfen ob Zwischenablage leer ist
13.02.2025 21:23:47
Lutz
Hallo,
u.st. Codes, welche ich hier im Internet gefunden habe, funktionieren leider nicht. Nun weiß ich nicht, ob es an meiner alten Excelversion liegt. Vielleicht hat jemand eine funktionierende Lösung.

Besten Dank
Gruß Lutz


Sub TestClipBoard()
Dim bln As Boolean
If bln Then
MsgBox "Die Zwischenablage ist leer!"
Else
MsgBox "Die Zwischenablage ist nicht leer!"
End If
End Sub

Private Function ClipboardEmpty() As Boolean
ClipboardEmpty = (Application.ClipboardFormats(1) = -1)
End Function
( https://www.herber.de/mailing/Pruefung_ob_die_Zwischenablage_leer_ist.htm )



Option Explicit
Sub Clipboard()
Dim TestDaten As DataObject
On Error Resume Next
TestDaten.GetFromClipboard
If Err Then
MsgBox "Clipboard enthält keine Daten!"
End If
End Sub
( https://www.herber.de/forum/archiv/148to152/151017_Pruefen_ob_Zwischenablage_leer_ist.html#1 )


Public Declare Function CountClipboardFormats Lib "user32" () As Long

Function IsClipboardEmpty() As Boolean
IsClipboardEmpty = (CountClipboardFormats() = 0)
End Function
( https://officeoneonline.com/vba/is_clipboard_empty.html )
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Zwischenablage leer ist
13.02.2025 21:50:01
JoWE
Hallo Lutz,
und was liefert Dir dieses Makro?
Option Explicit

Sub ClipboardCheck()
Dim TestDaten As MSForms.DataObject
Set TestDaten = New MSForms.DataObject
On Error Resume Next
TestDaten.GetFromClipboard
If Err.Number > 0 Then
MsgBox "Die Zwischenablage enthält keine Daten!"
Else
MsgBox "Die Zwischenablage ist nicht leer."
End If
End Sub

Gruß
Jochen
Anzeige
AW: Prüfen ob Zwischenablage leer ist
13.02.2025 22:14:25
volti
Hallo Lutz,

teste diese Version. Sie funktioniert für 32 und 64 Bit.

War zwar schon in Deinem Beitrag dabei und hätte auch funktionieren müssen.

Code:


#If VBA7 Then Declare PtrSafe Function CountClipboardFormats Lib "user32" () As Long #Else Declare Function CountClipboardFormats Lib "user32" () As Long #End If Function IsClipboardEmpty() As Boolean IsClipboardEmpty = CountClipboardFormats = 0 End Function Sub Test() MsgBox IIf(IsClipboardEmpty, "Ist leer", "Ist nicht leer") End Sub

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

Anzeige
AW: Prüfen ob Zwischenablage leer ist
13.02.2025 22:30:24
Lutz
Hallo Karl-Heinz, ja, dein Code funktioniert. Danke!
AW: Prüfen ob Zwischenablage leer ist
13.02.2025 22:18:23
Ulf
Hi,
in dem ersten Beispiel hat bln keine Zuweisung, funtionieren sollte unabhängig der XL-Version
Option Explicit


Private Declare Function CountClipboardFormats Lib "user32" () As Long

Sub TestClipBoard()
Dim bln As Boolean
bln = IsClipboardEmpty()
If bln Then
MsgBox "Die Zwischenablage ist leer!"
Else
MsgBox "Die Zwischenablage ist nicht leer!"
End If
End Sub


Function IsClipboardEmpty() As Boolean
IsClipboardEmpty = (CountClipboardFormats() = 0)
End Function

hth
Ulf
Anzeige
AW: Prüfen ob Zwischenablage leer ist
13.02.2025 22:09:22
Lutz
Fehler beim Kompilieren:
Benutzerdefinierter Typ nicht definiert.

Es wird blau hinterlegt:
TestDaten As MSForms.DataObject
fehlender Verweis
13.02.2025 22:14:43
Uduuh
Hallo,
da fehlt ein Verweis.
Extras-Verweise
Microsoft Forms 2.0 Object Library anhaken.

Oder eine Userform einfügen und wieder löschen.

Gruß aus'm Pott
Udo

Anzeige
AW: fehlender Verweis
13.02.2025 22:28:12
Lutz
Hallo Udo, Microsoft Forms 2.0 Object Library angehakt. Jetzt kommt - ob Zwischenablage leer ist oder nicht - die Anzeige: Die Zwischenablage ist nicht leer.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18