Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Word Textmarken in Excel einlesen

Word Textmarken in Excel einlesen
Manfred
Hallo zusammen,
ich habe in einem Worddok. in verschiedenen Tabellen, Textmarken WERT_100, WERT_200 usw. eingebunden. Die Werte sitzen immer an verschiedenen Stellen.
Diese sollen jetzt mit einem Excelsheet ausgelesen werden, die Zellen heisen wiederrum WERT_100, WERT_200 usw. Auch diese sitzen immer an verschiedenen Stellen.
Ich habe schon 2 Tage im Forum gesucht jedoch nichts passendes gefunden. Kann mir vielleicht jemand helfen ?
https://www.herber.de/bbs/user/65686.xls
https://www.herber.de/bbs/user/65687.doc
Mit freundlichen Grüßen
Manfred
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Word Textmarken in Excel einlesen
09.11.2009 15:02:29
Luschi
Hallo Manfred,
so sollte es klappen:

Option Explicit
Sub Word_Dokument_nach_Excel()
Dim myWord As Object, wb As Workbook, _
xPfad As String, docDatei As String
Set wb = ThisWorkbook
xPfad = wb.Path
'Fehlerroutine für die Objectabfrage aktivieren
'Abfragen einer besthenden WORD-Instanz um wiederholtes starten zu verhindern
'9 = Word 2000, 10 = Word XP
On Error Resume Next
Set myWord = GetObject("Word.Application.10")
On Error GoTo 0
If myWord Is Nothing Then
'Fehlervariable leeren wenn Instanz noch nicht besteht
Err.Clear
'Zuweisung der Instanz
Set myWord = CreateObject("Word.Application.10")
'Instanz öffnen
'Um das ganze etwas im Hintergrund laufen zu lassen
'kann man den Status "wdWindowStateMinimize" verwenden
myWord.Visible = True: myWord.WindowState = wdWindowStateMaximize
Else
'Instanz besteht bereits
myWord.Activate
'Instanz in der Vordergrund bringen oder
'mit "wdWindowStateMinimize" im Hintergrund ausführen
myWord.Visible = True: myWord.WindowState = wdWindowStateMaximize
End If
'Hier sollte ein Worddokument *.doc frei wählbar zum öffnen sein
'wobei davon ausgegangen wird, das die Excel- und Worddatei im gleichen
' Verzeichnis sich befinden
ChDrive Left(xPfad, 1)
ChDir xPfad
docDatei = Application.GetOpenFilename("Word-Datei (*.doc), *.doc")
If docDatei  "Falsch" Then
myWord.Documents.Open docDatei, , True
'Die Textmarken "Wert_100, Wert_200, Wert_300" müssen im Dokument bereits bestehen
'diese sollen dann in die offene Exeldatei in Tabelle1 in die Zellen, Wert_100,
'Wert_200, Wert_300 geschrieben werden
wb.Names("Wert_100").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("Wert_100")
wb.Names("Wert_200").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("Wert_200")
wb.Names("Wert_300").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("Wert_300")
'Das aktive WordDokument drucken
'myWord.ActiveDocument.PrintOut
'Dokument schliessen ohne speichern
myWord.ActiveDocument.Close savechanges:=False
'Speichern mit fixem Namen
'myWord.ActiveDocument.SaveAs Filename:="DokumentName", FileFormat:=wdFormatDocument
'Speichern mit Variable
'myWord.ActiveDocument.SaveAs Filename:=Variable, FileFormat:=wdFormatDocument
Else
MsgBox "keine Datei ausgewählt --> Programm-Abruch", 16, "Fehler - F e h l e r - Fehler. _
End If
'WORD-Instanz schliessen
myWord.Quit
'Variable leeren
Set myWord = Nothing
Set wb = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Word Textmarken in Excel einlesen
09.11.2009 15:31:24
Manfred
Hallo Luschi,
danke für die Antwort, aber das Makro im Modul1 bleibt bei,
'Zuweisung der Instanz
> Set myWord = CreateObject("Word.Application.10") 'Instanz öffnen
stehen. Die Microsoft Word.11.0 Object Librery ist aktiv.
Fehlermeldung 429, Objekterstellung durch AktiveX-Komponente nicht möglich.
Was kann ich tun ? Geht das Makro auch einfacher ?
Mit freundlichen Grüßen
Manfred
Anzeige
AW: Word Textmarken in Excel einlesen
09.11.2009 15:48:44
Luschi
Hallo Manfred,
ersetze überall ("Word.Application.10") durch ("Word.Application")
Gruß von Luschi
aus klein-Paris
PS: Die Versionsnummer sollte nicht mit angegeben werden, da MS in der Registry so festgelegt hat, daß immer die aktuellste (installierte) Version aufgerufen wird.
AW: Word Textmarken in Excel einlesen
09.11.2009 15:59:15
Manfred
Hallo Luschi
supper, es funzt, vielen vielen Dank für Deine Bemühungen.
Geiles Forum.
Mit freundlichen Grüßen
Manfred
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Word Textmarken in Excel einlesen


Schritt-für-Schritt-Anleitung

Um Word Textmarken in Excel auszulesen, kannst du das folgende VBA-Makro verwenden. Stelle sicher, dass du die Microsoft Word Object Library in deinem Excel VBA aktiviert hast.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein (Einfügen > Modul).
  3. Kopiere den folgenden VBA-Code in das Modul:
Option Explicit
Sub Word_Dokument_nach_Excel()
    Dim myWord As Object, wb As Workbook, docDatei As String
    Set wb = ThisWorkbook

    ' Abfragen einer bestehenden WORD-Instanz
    On Error Resume Next
    Set myWord = GetObject("Word.Application")
    On Error GoTo 0
    If myWord Is Nothing Then
        Set myWord = CreateObject("Word.Application")
        myWord.Visible = True
    Else
        myWord.Activate
        myWord.Visible = True
    End If

    ' Word-Dokument auswählen
    docDatei = Application.GetOpenFilename("Word-Datei (*.doc), *.doc")
    If docDatei <> "Falsch" Then
        myWord.Documents.Open docDatei, , True
        wb.Names("WERT_100").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("WERT_100").Range.Text
        wb.Names("WERT_200").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("WERT_200").Range.Text
        wb.Names("WERT_300").RefersToRange.Value = myWord.ActiveDocument.Bookmarks("WERT_300").Range.Text
        myWord.ActiveDocument.Close savechanges:=False
    Else
        MsgBox "Keine Datei ausgewählt --> Programm-Abbruch", 16, "Fehler"
    End If
    myWord.Quit
    Set myWord = Nothing
    Set wb = Nothing
End Sub
  1. Ändere die Namen in den wb.Names(...) Zeilen entsprechend deiner Textmarken in Word.
  2. Schließe den VBA-Editor und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich.
    Lösung: Stelle sicher, dass die Microsoft Word Object Library in den Verweisen aktiviert ist. Du kannst dies unter Extras > Verweise im VBA-Editor überprüfen. Wenn das Problem weiterhin besteht, ersetze "Word.Application.10" durch "Word.Application".

  • Das Makro bleibt an einer bestimmten Stelle stehen.
    Lösung: Überprüfe, ob die Textmarken im Word-Dokument vorhanden sind und korrekt benannt wurden. Die Namen müssen genau übereinstimmen.


Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du die Werte manuell kopieren. Du kannst die Word Textmarken in Word mit der Tastenkombination Alt + F9 anzeigen lassen und die Werte dann in Excel einfügen.

Eine andere Möglichkeit ist die Verwendung von Power Query, um Daten aus Word-Dokumenten zu importieren, jedoch ist dies komplexer und erfordert mehr Schritte.


Praktische Beispiele

  1. Textmarken in Word erstellen:
    Füge Textmarken in deinem Word-Dokument ein, indem du den gewünschten Text markierst und dann Einfügen > Textmarke wählst.

  2. Verknüpfung in Excel:
    Erstelle in deiner Excel-Datei benannte Bereiche mit den gleichen Namen wie die Textmarken in Word (z.B. WERT_100).

  3. Makro ausführen:
    Führe das Makro aus, um die Werte automatisch in die entsprechenden Zellen zu übertragen.


Tipps für Profis

  • Verwende die Word VBA Methoden, um verschiedene Eigenschaften der Textmarken zu manipulieren.
  • Automatisiere den Prozess weiter, indem du die Ausgabe in Excel formatierst oder zusätzliche Berechnungen anwendest.
  • Halte deine Excel- und Word-Dateien im gleichen Verzeichnis, um den Zugriff zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich das Makro in älteren Excel-Versionen verwenden?
Ja, das Makro sollte auch in älteren Versionen von Excel funktionieren, solange die Microsoft Word Object Library aktiviert ist.

2. Wie kann ich die Werte aus Excel wieder nach Word übertragen?
Du kannst ein ähnliches VBA-Makro verwenden, das die Excel-Werte ausliest und in die entsprechenden Word Textmarken einfügt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige