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

Text aus Word in Zwischenablage

Text aus Word in Zwischenablage
06.11.2021 16:39:49
Daniel
Hallo zusammen
Ich möchte einen Text welcher sich in einer Word Datei befindet, ab einer bestimmten Zeile bis zum Ende aus Excel via VBA in die Zwischenablage speichern.
Danach soll die Zwischenablage in Outlook wieder eingefügt werden. Hat mir jemand einen Vorschlag wie ich das machen muss?
Besten Dank für Eure Hilfe.
Gruss Daniel E

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus Word in Zwischenablage
06.11.2021 21:36:00
Daniel
Guten Abend
Kann mir den da niemand behilflich sein?
Gruss Daniel E.
AW: Text aus Word in Zwischenablage
07.11.2021 16:55:01
JoWe
Hallo Daniel,
ich habe hier eine Arbeitsmappe angehängt, die Deiner Problematik vielleicht ausreichend nahe kommt.
Sie betrifft jedoch nur die Zusammenarbeit zwischen Excel und Word (beides Version 2019 unter einem 64Bit-Windows) und nicht die Zusammenarbeit mit Outlook.
Dies tut das Makro:
Zu Beginn wird die Zwischenablage komplett geleert. Anschließend wird ein Öffnen-Dialog zwecks Suche eine Word-Datei geöffnet. Hier navigiert mann zu einer gewünschten Datei und klickt die zu öffnen de Datei doppelt an. Jetzt öffnet das Makro die Datei im Hintergrund und markiert anhand eines Suchbegriffs (z.B. "Eierdieb") bei "gefunden" den Suchbegriff und alle danach folgenden Zeichen bis zur nächsten Absatzmarke. Dann wird der markierte Bereich in die Zwischenablage kopiert. Nun wird die Word-Datei und die Word-Instanz geschlossen. Schließlich wird der Inhalt der Zwischenablage in die Zelle "A3" der Tabelle "Tabelle1" geschrieben.
Vielleicht hilft Dir der Code ein wenig auf die Sprünge, so in etwa sollte das ja eigentlich auch mit Outlook klappen..
https://www.herber.de/bbs/user/148983.xlsm
Gruß
Jochen
Anzeige
AW: Text aus Word in Zwischenablage
08.11.2021 20:51:34
Daniel
Guten Abend
Leider funktioniert das Beispiel von Jochen auch nicht. Es erkennt einfach die Tabulatoren nicht....
Mit unterstehenden Code funktioniert es soweit wie gewünscht. Leider erkennt er die Tabulatoren auch nicht. Kopiere ich den Text manuell und füge diesen in Outlook ein, so wird der Text 1:1 inkl. Tabulatoren eingefügt. Gibt es via VBA keinen passenden Code dazu?
Gruss Daniel E.

Sub Test()
Dim dateiname                 As String
Dim i                         As Long
Dim ObjWinWord                As Object
Dim ObjDocWord                As Object
Const wdWindowStateMaximize   As Long = 1
Dim strTextInDoc              As String
Dim strTextGefunden           As String
Dim strSuchbegriff_Anfang     As String
Dim strSuchbegriff_Ende       As String
'Suchbegriffe für Anfang und Ende vorgeben!
strSuchbegriff_Anfang = "Hallo da draussen!"
strSuchbegriff_Ende = "Garage Eberhard GmbH"
Set ObjWinWord = CreateObject("Word.Application")
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
ObjWinWord.Activate
Set ObjDocWord = ObjWinWord.Documents.Open("C:\Users\User\Dropbox\VBA\E-mail\Text001.docx")
strTextInDoc = ObjDocWord.Content.Text
strTextGefunden = Trim$(Split(Split(strTextInDoc, strSuchbegriff_Anfang)(1), strSuchbegriff_Ende)(0))
Set ObjDocWord = Nothing
Set ObjWinWord = Nothing
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.Body = strTextGefunden
.Display
'   .Send        'Sendet die Email automatisch
End With
End Sub

Anzeige
AW: Text aus Word in Zwischenablage
08.11.2021 22:42:29
JoWe
.
Es wäre hilfreich die Word-Datei zu sehen um zu begreifen was da eigentlich in der Variable strTextGefunden von Dir erwartet wird.
AW: Text aus Word in Zwischenablage
09.11.2021 07:01:31
Daniel
Guten Morgen
Ich habe die Word Datei mal hochgeladen. Optimal wäre, wenn der Suchbegriff von bis auch gleich mit Kopiert würde. Der Textinhalt kann sich natürlich etwas verändern. Hoffe bald um eine Lösung.
Gruss Daniel E.
https://www.herber.de/bbs/user/149015.doc
AW: Text aus Word in Zwischenablage
09.11.2021 18:59:12
JoWe
Hallo Daniel E.,
wenn Du den Termindatenbereich Deiner Word-Datei in eine Tabelle umwandelst, würde dieses angepasste Makro (siehe unten) zumindest die Daten halbwegs vernünftig in eine Email schreiben. Das aber tatsächlich wie eine Tabelle aussehen zu lassen gelingt mir VBA-gesteuert allerdings auch nicht.
Vielleicht solltest Du dann Deine Frage nochmal auf offen stellen. Ich bin allerdings jetzt raus.
Gruß Jochen

Sub Text_von_Word_to_Outlook()
Dim dateiname As String
Dim i As Long
Dim ObjWinWord As Object
Dim ObjDocWord As Object
Const wdWindowStateMaximize As Long = 1
Dim objOutlook As Object
Dim strSuchbegriff_Anfang As String
Dim strSuchbegriff_Ende As String
Dim strTextGefunden As Variant
'Suchbegriffe für Anfang und Ende vorgeben!
'strSuchbegriff_Anfang = "Hallo da draussen!"
'strSuchbegriff_Ende = "Garage Eberhard GmbH"
Set ObjWinWord = CreateObject("Word.Application")
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
ObjWinWord.Activate
Set ObjDocWord = ObjWinWord.Documents.Open("C:\Users\joche\Downloads\149015.doc")
ObjDocWord.Tables(1).Select
strTextGefunden = ObjWinWord.Selection
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.Body = strTextGefunden
.Display
'.Send        'Sendet die Email automatisch
End With
Set objMail = Nothing
Set objOutlook = Nothing
ObjDocWord.Close savechanges:=False
Set ObjDocWord = Nothing
ObjWinWord.Quit
Set ObjWinWord = Nothing
End Sub

Anzeige
AW: Text aus Word in Zwischenablage
12.11.2021 16:13:29
JoWe
hier ein weiterer Code, damit wird's schon besser:

Option Explicit
Sub Text_von_Word_to_Outlook()
Dim dateiname As String
Dim i As Long
Dim ObjWinWord As Object
Dim ObjDocWord As Object
Const wdWindowStateMaximize As Long = 1
Dim strSuchbegriff_Anfang As String
Dim strSuchbegriff_Ende As String
Dim strTextInDoc As String
Dim strTextGefunden As String
'Suchbegriffe für Anfang und Ende vorgeben!
strSuchbegriff_Anfang = "Hallo da draussen!"
strSuchbegriff_Ende = "Garage Eberhard GmbH"
Set ObjWinWord = CreateObject("Word.Application")
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
ObjWinWord.Activate
Set ObjDocWord = ObjWinWord.Documents.Open("C:\Users\joche\Downloads\149015.doc")
strTextInDoc = ObjDocWord.Content.Text
strTextGefunden = Trim$(Split(Split(strTextInDoc, strSuchbegriff_Anfang)(1), strSuchbegriff_Ende)(0))
Dim objOutlook As Object
Dim objMail As Object
Dim objdoc As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.BodyFormat = 2
.To = "deinname@deinedomain.de"
.Subject = "Betreff"
.body = strTextGefunden
.Display
'.Send        'Sendet die Email automatisch
End With
Set objMail = Nothing
Set objOutlook = Nothing
Set ObjDocWord = Nothing
ObjWinWord.Quit
Set ObjWinWord = Nothing
End Sub

Gruß
Jochen
Anzeige
AW: Text aus Word in Zwischenablage
13.11.2021 12:40:38
Daniel
Hallo Jochen
Vielen Dank für Dein Vorschlag. Aber bei mir übernimmt es mir die Tabulatoren immer noch nicht. Kann es an einer Einstellung in Word oder Outlook liegen?
Gruss Daniel E.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige