Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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
5. Zeile aus Worddatei in excel textbox
02.07.2021 12:11:59
Dirk
Hallo, liebe Experten,
ich habe eine Worddatei, aus der ich die 5. Zeile auslesen will und in eine Textbox einer Ecxeldatei übernehmen will. Mein Code schreibt aber immer die erste Zeile rein.
Könnt Ihr mir da weiter helfen ?
Hier mein Code :

Private Sub CommandButton1_Click()
Dim AppWd As Object
Dim DocWd As Object
Dim WordDatei As String
Dim WordDateiPfad As String
Dim TextWD As String
Dim DateiName As String
WordDateiPfad = "C:\Word\"
WordDatei = "Bestätigung Wunschkennzeichen.docx"
Set AppWd = CreateObject("Word.Application")
Set DocWd = AppWd.Documents.Open(WordDateiPfad & WordDatei)
DocWd.Range(0, 0).Select
TextWD = DocWd.Range(0, 4).Text
TextBox1.Value = DocWd.Bookmarks("\Line").Range.Text
DocWd.Close savechanges:=False
AppWd.Quit
Set DocWd = Nothing
End Sub
Liebe Grüße

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 5. Zeile aus Worddatei in excel textbox
02.07.2021 14:26:18
JoWE
Hallo Dirk,
versuch mal:

Private Sub CommandButton1_Click()
Dim AppWd As Object
Dim DocWd As Object
Dim WordDatei As String
Dim WordDateiPfad As String
Dim TextWD As String
Dim DateiName As String
WordDateiPfad = "C:\Word\"
WordDatei = "Bestätigung Wunschkennzeichen.docx"
Set AppWd = CreateObject("Word.Application")
Set DocWd = AppWd.Documents.Open(WordDateiPfad & WordDatei)
DocWd.Activate
With AppWd
.Application.Selection.HomeKey Unit:=wdStory
.Application.Selection.MoveDown Unit:=wdLine, Count:=5
.Application.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
TextWD = .Application.Selection.Text
End With
TextBox1.Value = DocWd.Bookmarks("\Line").Range.Text
DocWd.Close savechanges:=False
AppWd.Quit
Set DocWd = Nothing
End Sub
Gruß
Jochen
Anzeige
AW: 5. Zeile aus Worddatei in excel textbox
02.07.2021 17:19:32
Dirk
Hallo Jochen,
vielen, vielen, vielen Dank, funktioniert super !
Grüße
Dirk
AW: Gerne, danke für die Rückmeldung
02.07.2021 17:24:14
JoWE
AW: Gerne, danke für die Rückmeldung
02.07.2021 17:34:22
Dirk
Hast Du vielleicht auch eine Lösung, wie aus Excel VBA heraus eine PDF-Datei automatisch nach Word konvertiere ? Wie das unter Word direkt funtioniert (also ohne VBA) weiß ich, wollte das nur in meinem kleinen Tool automatisieren.
Liebe Grüße
AW: Gerne, danke für die Rückmeldung
02.07.2021 18:42:48
JoWE
Dirk,
versuch mal:

Sub Word_Pdf_File_Öffnen()
' Öffnen einer PDF-Datei in Word, starten aus (Modul in) Excel-Arbeitsmappe
Dim AppWd As Object
Dim DocWd As Object
pdfDateiPfad = "C:\Daten\" 'anpassen
pdfDatei = "DeineDatei.pdf" 'anpassen
Set AppWd = CreateObject("Word.Application")
Set DocWd = AppWd.Documents.Open(pdfDateiPfad & pdfDatei)
AppWd.Visible = True
Set AppWd = Nothing
Set DocWd = Nothing
End Sub
Gruß
Jochen
Anzeige
AW: Gerne, danke für die Rückmeldung
02.07.2021 20:20:56
JoWE
Dirk,
wenn die PDF-Datei in Deine vorhandene Word-Datei eingefügt werden soll, dann in etwa so:

Sub einfg_Pdf_File_in_Word_File()
Dim AppWd As Object
Dim DocWd As Object
WordDateiPfad = "C:\Daten\" 'anpassen
WordDatei = "test.docm" 'anpassen
pdfDatei = "DeinePDFDatei.pdf" 'anpassen
Set AppWd = CreateObject("Word.Application")
Set DocWd = AppWd.Documents.Open(WordDateiPfad & WordDatei)
With AppWd.Selection
.EndKey Unit:=6 'wdStory, also Cursor ans Ende des Textes setzen
.InsertBreak Type:=3 'wdSectionBreakContinuous, und einen fortlaufenden Absatz einfügen
.TypeText Text:="eingefügtes PDF-File:"
.TypeParagraph
.InsertFile WordDateiPfad & pdfDatei
End With
AppWd.Visible = True
Set AppWd = Nothing
Set DocWd = Nothing
End Sub
Gruß
Jochen
Anzeige
AW: Gerne, danke für die Rückmeldung
05.07.2021 13:11:00
Dirk
Hallo Jochen,
habe Deinen Code gerade angepasst, auch hier wieder 1A !
Kann man eine PDF-Datei auch in Excel konvertieren ?
LG
Dirk
AW: Ich bin nicht sicher...
05.07.2021 14:00:09
JoWE
...glaube jedoch, dass das so ohne weiteres nicht funktioniert.
Man kann die PDF-Datei als Object einfügen. Mit Hilfe bestimmter zusätzlich erforderlicher Befehlsbibliotheken (siehe Verweise) von Adobe kann man da sich auch noch etwas machen. Da hab' ich aber keine Erfahrungen sammeln können.
Hier mal evtl. hilfreiche Links (hab' ich selbst nicht getestet, kann also nichts dazu sagen):
https://administrator.de/forum/pdf-auslesen-und-in-excel-schreiben-183617.html#comment-751305
https://administrator.de/forum/pdf-auslesen-und-per-vba-in-excel-schreiben-239601.html
Anzeige
AW: Ich bin nicht sicher...
05.07.2021 14:31:48
Dirk
Hallo Jochen,
die Lösung mit "Objekt einfügen" funktioniert generell, nur wird das dargestellte PDF zu klein und verschwommen dargestellt.
AW: Ja, aber da bin ich raus...
05.07.2021 15:42:31
JoWE
...vielleicht gibt's ja Reaktionen auf Deine neue Frage im Forum.
Ich werde das beobachten, möglicherweise gibt's ja was zu lernen.
Viel Erfolg weiterhin.
Gruß
Jochen
AW: hab' doch ne Idee
05.07.2021 16:28:25
JoWE
es ist doch möglich die Fähigkeit von Word zu nutzen um die PDF-Datei doch nach Excel zu kopieren.
Dazu importiere ich im Beispiel eine PDF-Datei in ein nur temporär erstelltes Word-Dokument.
Den dann erstellten Inhalt des Word-Dokumentes, also das konvertierte PDF-File, kopiere ich dann aus der Zwischenablage
in die Exceltabelle (hier die aktuelle Tabelle) und schließe die Word-Datei ohne zu speichern und beende die Word-Instanz.
Hier das Beispiel-Makro:

Sub tmp_Pdf_File_first2Word_then2Excel()
Dim AppWd As Object
Dim DocWd As Object
myPfad = "C:\Users\joche\Desktop\VBA Übungen\Dirk 03072021\"
myPDF = "Ertraegnisaufstellung_20210210.pdf"
Set AppWd = CreateObject("Word.Application")
Set DocWd = AppWd.Documents.Add
With AppWd.Selection
.InsertFile myPfad & myPDF
.WholeStory
.Copy
End With
With ActiveSheet
.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
.Range("A1").Select
End With
DocWd.Close savechanges:=False
Set DocWd = Nothing
Set AppWd = Nothing
End Sub
Gruß
Jochen
Anzeige
AW: 5. Zeile aus Worddatei in excel textbox
02.07.2021 14:50:35
Yal
Hallo Dirk,
Word hat sein eigene Objekt-Modell und Range hat dabei nicht dieselbe Bedeutung wie in Excel.
Mache am bestens unter Extras, Verweis... eine Kreuz bei "Microsoft Word 16.0 Object Library" an (Nummer kann abweichen).
Dann vermeidest Du nicht nur die CreateObject, aber Du hast vor allem den IntelliSende (Strg+Leerzeichen) und das Objekt-Katalog (F2) zur Verfügung.
Folgende Code ist nicht genau was Du brauchst, aber ganz nah. Du wirst schnell entdecken, was daran zu ändern ist, um dein Ergebnis hinzubekommen.

Private Sub CommandButton1_Click()
Dim AppWd As Word.Application
Dim DocWd As Document
Dim i As Integer
Const WordDateiPfad = "C:\Word\"
Const WordDatei = "Bestätigung Wunschkennzeichen.docx"
Set AppWd = New Word.Application
Set DocWd = AppWd.Documents.Open(WordDateiPfad & WordDatei, ReadOnly:=True)
For i = 1 To WorksheetFunction.Min(DocWd.Paragraphs.Count, 10)
Debug.Print DocWd.Paragraphs(i).Range.Text
Next
DocWd.Close savechanges:=False
AppWd.Quit
Set DocWd = Nothing
End Sub
Word-Datei lieber Read-Only öffnen, sonst hast Du eine lästigen "wird gerade verwendet", wenn Du nicht sauber schliesst (z.B. bei Abbruch des Coding).
Variable dessen Wert sich nicht ändern, kann man als Konstanten definieren (weniger Code).
VG
Yal
Anzeige
AW: 5. Zeile aus Worddatei in excel textbox
02.07.2021 17:40:48
Dirk
Hallo Yal,
auch Dir vielen Dank. Ich habe Deinen Code entsprechend meinen Bedürfnissen angepasst, funktioniert ebenfalls super.
Liebe Grüße
Dirk

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige