Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aus EXCEL Zwischenablage im WORD löschen

Aus EXCEL Zwischenablage im WORD löschen
07.02.2004 08:29:13
Marco W.
Hallo,
ich lese den Inhalt einer WORD-Datei in eine Stringvariable im EXCEL ein.
Word starten, wenn nötig funzt
Dokument öffnen funzt
'alles markieren und kopieren funz auch
wordapp.selection.wholestory
wordapp.selection.copy
Im Excel wird der Inhalt der Zwischenablage in eine Stringvaribale kopiert.
Soweit geht alles wunderbar, leider habe ich nun das Problem, dass der Inhalt der Zwischenablage wieder gelöscht werden soll, damit man diesen nicht manuell verwenden kann und keine Nachfrage nach Verwendung der Zwischenablage beim Beenden von Word kommt.
Folgenden Code habe ich probiert, funktioniert aber nicht (ich vermute, dass lediglich die Zwischenablage im EXCEl gelöscht wird, die im WORD zeigt sich unbeeindruckt).

Sub InhaltDerZwischenablageLoeschen2()
Dim oData As DataObject
Set oData = New DataObject
oData.SetText ""
oData.PutInClipboard
End Sub

Gibt es eine Möglichkeit diesen Code auf Word zu beziehen oder eine andere Möglichkeit aus dem Excel heraus die Zwischenablage im Word zu löschen?
(Die Lösung muss im Office 97 und höher funktionieren)
Vilen Dank im Voraus!
Marco

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

Betreff
Datum
Anwender
Anzeige
AW: Aus EXCEL Zwischenablage im WORD löschen
07.02.2004 08:55:26
Nepumuk
Hallo Marco,
es gibt nur eine Zwischenablage. Das Dataobjekt hat mit dieser nichts zu tun. Du kannst die Zwischenablage so leeren:

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Public Sub loeschen_Zwischenablage()
OpenClipboard FindWindow("xlMain", vbNullString)
EmptyClipboard
CloseClipboard
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: Aus EXCEL Zwischenablage im WORD löschen
07.02.2004 10:56:45
Marco W.
Hallo,
Danke für die schnelle Antwort, habe es auch gleich ausprobiert.
Leider hat auch dieser Code die Zwischenablage nicht leerräumen können.
Momentan verwende ich Office 2000.
Ich habe mal die Symbolleiste "Zwischenablage" als Bild eingefügt.
Sowohl der Code mit DataObject als auch der mit den user32.dll-Funktionen änderte nichts am Inhalt der Zwischenablage, egal ob er unter EXCEl oder WORD ausgeführt wird.
Userbild
Der einzige funktionierende Weg ist das manuelle Löschen mittels des rechten Button in der gezeigten Symbolleiste. Leider ließ sich dieser Vorgang mit dem Macro-Recorder auch nicht aufzeichnen.
Liegt das in irgendeiner Form an mir bzw. meinem Rechner? Hat er keine Lust?
Anzeige
AW: Aus EXCEL Zwischenablage im WORD löschen
07.02.2004 11:34:34
Nepumuk
Hallo Marco,
die Office-Zwischenablage löschst du so:

Option Explicit
Public Sub test()
Dim myCommandbar As CommandBar, myCommandBarButton As CommandBarButton
Set myCommandbar = Application.CommandBars("Clipboard")
If Not myCommandbar Is Nothing Then
If myCommandbar.Enabled And myCommandbar.Visible Then
Set myCommandBarButton = myCommandbar.FindControl(ID:=3634, Recursive:=True)
If Not myCommandBarButton Is Nothing Then myCommandBarButton.Execute
End If
End If
Set myCommandbar = Nothing
Set myCommandBarButton = Nothing
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
AW: Aus EXCEL Zwischenablage im WORD löschen
07.02.2004 11:54:37
Bert
Hast du das getestet? Bestimmt, aber bei mir geht das nicht!
Bert
Danke, Danke, Danke
07.02.2004 11:55:34
Marco W.
Jetzt hats gefunzt, wunderbar.
Gibt es eigentlich Literatur in der sowas drinsteht, nach Möglichkeit auch so, dass man es versteht?
Also nochmal vielen Dank!
Marco Wunderlich
AW: Danke, Danke, Danke
07.02.2004 12:02:29
Nepumuk
Hallo Marco,
aus Büchern kannst du nur Grundwissen erlangen. Aber für neue Ideen, ist das Forum eine schier unerschöpfliche Quelle.
Gruß
Nepumuk
AW: noch ein Fehler im Programm
07.02.2004 12:09:36
Nepumuk
Hallo Marco,
eine kleine Korrektur. Wenn in der Zwischenablage nichts steht, würde sonst ein Fehler angezeigt.

Option Explicit
Public Sub test()
Dim myCommandbar As CommandBar, myCommandBarButton As CommandBarButton
Set myCommandbar = Application.CommandBars("Clipboard")
If Not myCommandbar Is Nothing Then
If myCommandbar.Enabled And myCommandbar.Visible Then
Set myCommandBarButton = myCommandbar.FindControl(ID:=3634, Recursive:=True)
If Not myCommandBarButton Is Nothing And myCommandBarButton.Enabled Then myCommandBarButton.Execute
End If
End If
Set myCommandbar = Nothing
Set myCommandBarButton = Nothing
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige