Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1936to1940
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

Zwischenablage leeren

Zwischenablage leeren
01.08.2023 20:52:55
MeddlLeute
Hallo in die Runde,

ich habe folgendes Problem:
Bei meiner Makrogespikten Excel, spuckt er mir die Fehlermeldung "Das Bild ist zu groß und wird abgeschnitten " aus.
Anscheinend ist der Zwischenspeicher proppenvoll.
Um den zu leeren gibt sogar eine Musterlösung im Internet:


'diesen Teil in ein Modul

Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long)
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard& Lib "user32" ()

Public Sub ClearClipboard()
OpenClipboard 0&
EmptyClipboard
CloseClipboard
End Sub



'diesen Teil mit Makroausführung in die Arbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ClearClipboard

End Sub

Leider kriege ich die Fehlermeldung:

"Der Code in diesem Projekt muss für die Verwendung auf 32-Bit-Systemen aktualisiert werden. Überarbeiten und aktuallisieren Sie Declare-Anweisungen und markieren Sie sie mit dem PtrSafe-Attribut"

Verstehe leider nur Bahnhof.

Habt ihr eine Lösung? Sowohl für das Problem als auch für das Grundlegende Problem =)

Schöne Grüße und Danke!

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

Betreff
Datum
Anwender
Anzeige
Zwischenablage leeren
02.08.2023 00:01:50
Marc
Die Frage ist ja, was hast du im Zwischenspeicher , dass der so voll ist.. bzw. Wie groß ist dein Bild?

Ich habe jetzt mal versucht das zu testen..
aber selbst 2 GB Bilder wurden kopiert..
Tabellen mit vollen Zellen von 5000 Zeilen und 5000 Spalten wurden kopiert.

ansonsten Onurs Option funktioniert einwandfrei..
Zwischenablage leeren
02.08.2023 09:31:05
MeddlLeute
Hallo Marc,

gute Frage. Aber ich kann dir sagen, dass die Datei 153 kb und als Wochenbericht fertig ausgefüllt 170 kb groß ist.
Keine Bilder, keine Endlosschleifen (von denen ich wüsste).
Fehlermeldung ist aber eben da =D
Die einzige Fehlerquelle, die mir die Googlesuche aufzeigt ist ein zu voller Zwischenspeicher oder andere Programme die nebenbei was in den Zwischenspeicher schieben.
Wenn das bei mir in der Remotesitzung der Fall ist, pech gehabt. Kann ich leider nichts daran ändern. Ich selber auf meinem Rechner habe nebenbei auch nur firefox und Thrunderbird nebenbei offen.


Onurs Lösung hatte ich schon, wie geschrieben in jedem "Kopiermakro". Eventuell habe ich die Zeile an einer wichtigen Stelle vergessen.

Vielen Dank
Grüße
Anzeige
Zwischenablage leeren
02.08.2023 12:20:10
Ulf
Hi,
vlt mal abschalten:

hth
Ulf
Zwischenablage leeren
01.08.2023 23:40:36
volti
Hallo,

ergänzend zu onurs Beitrag noch eine Erklärung zu Deinem geposteten Beispiel...

Für API-Funktionen im 64 Bit-System muss das Schlüsslwort PtrSafe eingesetzt werden und einige Variablentypen wie z.B. Handle auf LongPtr umgestellt werden.
Im 32 Bit-System (VBA7) kann das gemacht werden, muss aber nicht.

Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr)

Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" ()


Gruß Karl-Heinz
Anzeige
Zwischenablage leeren
02.08.2023 09:11:40
MeddlLeute
Danke Karl-Heinz,

super Erklärung. Danke Dir =)
AW: Zwischenablage leeren
01.08.2023 21:13:12
onur
Sollte reichen:
Application.CutCopyMode = False
Zwischenablage leeren
02.08.2023 09:09:31
MeddlLeute
Hallo Onur,
danke für deine Antwort.

habe ich auch so gut wie in jedem Makro, welches rumkopiert... ich suche nachher mal, ob ich eine "Application.CutCopyMode = False" Zeile an einem wichtigen Punkt vergessen habe.

Vielen Dank!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige