Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bestimmte Zeilen aus Word-Datei auslesen

bestimmte Zeilen aus Word-Datei auslesen
Claudia
Hallo,
ich habe ein VBA-Makro geschrieben, daß mehrere Word-Dateien in einem Verzeichnis hintereinander öffnet und deren Inhalte zwecks weiterer Verarbeitung in meine Excel-Tabelle kopiert.
Dies mache ich nach dem Öffnen der Datei mit
With objWordApp
.Selection.WholeStory
varText = .Selection
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = varText
End With
Ich habe jetzt festgestellt, daß es einfacher wäre, nicht den gesamten Word-Text, sondern nur den Teil ab einer bestimmten Stelle (dort steht in allen Dokumenten immer das gleiche Wort "Beihilfeantrag") zu kopieren.
Wie lautet die Alternative zu .Selection.WholeStory wenn ich ab dem Wort bis zum Textende selektieren möchte?
DANKE
Claudia
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Frage besser im Word-Forum v.zB Office-Loesung,...
09.12.2010 16:59:32
Luc:-?
…Claudia,
da musst du wahrscheinl nicht so lange warten wie hier bis sich zufällig Einer damit auskennt… ;-)
Ich arbeite mit wdVBA auch nur sehr, sehr selten und zZ eben gerade nicht wie wahrscheinl die Meisten hier.
Gruß Luc :-?
AW: Frage besser im Word-Forum v.zB Office-Loesung,...
13.12.2010 10:16:28
Claudia
Hallo Luc,
ich mache das ganze ja gar nicht in wdVBA sondern aus Excel heraus in Excel VBA!
Daher hier die Frage.
Also weiß evtl jemand was.....?!
Danke,
Claudia
Anzeige
AW: Frage besser im Word-Forum v.zB Office-Loesung,...
13.12.2010 10:52:59
Claudia
Hallo an alle,
so, habe es inzwischen gefunden, daher hier noch für alle, die es evtl. auch mal ähnlich brauchen:
With objWordApp
.Selection.Find.ClearFormatting
.Selection.Find.text = "Beihilfeantrag"
.Selection.Find.Execute
.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
.Selection.MoveDown Unit:=wdScreen, Count:=1, Extend:=wdExtend
varText = .Selection
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = varText
End With
Grüße
Claudia
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zeilen aus Word-Datei in Excel auslesen


Schritt-für-Schritt-Anleitung

Um bestimmte Zeilen aus einer Word-Datei in eine Excel-Tabelle zu kopieren, kannst du folgendes VBA-Makro verwenden. Dieses Makro öffnet die Word-Datei, sucht nach einem bestimmten Wort und kopiert den Text ab diesem Wort bis zum Ende des Dokuments. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".

  3. Füge den folgenden Code ein:

    Sub AuslesenWordZeilen()
       Dim objWordApp As Object
       Dim varText As String
    
       Set objWordApp = CreateObject("Word.Application")
       objWordApp.Visible = False
    
       ' Hier den Pfad zur Word-Datei anpassen
       objWordApp.Documents.Open "C:\Pfad\zu\deiner\Datei.docx"
    
       With objWordApp
           .Selection.Find.ClearFormatting
           .Selection.Find.Text = "Beihilfeantrag"
           .Selection.Find.Execute
           .Selection.EndKey Unit:=wdLine, Extend:=wdExtend
           varText = .Selection.Text
           Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = varText
       End With
    
       objWordApp.Quit
       Set objWordApp = Nothing
    End Sub
  4. Passe den Dateipfad an und führe das Makro aus. Du solltest nun den gewünschten Text in deiner Excel-Tabelle sehen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht oder gibt einen Laufzeitfehler aus.

    • Lösung: Stelle sicher, dass der Pfad zur Word-Datei korrekt ist und die Datei nicht schreibgeschützt ist. Du kannst den Word-Schreibschutz aufheben, indem du die Datei in Word öffnest und im Menü "Datei" auf "Informationen" klickst, um den Schreibschutz zu entfernen.
  • Fehler: Das gesuchte Wort wird nicht gefunden.

    • Lösung: Überprüfe, ob das Wort exakt so in der Word-Datei steht. Achte auf Groß- und Kleinschreibung.

Alternative Methoden

Wenn du das Auslesen von Word-Dokumenten in Excel einfacher gestalten möchtest, kannst du auch die folgenden Methoden in Betracht ziehen:

  • Power Query: Mit Power Query kannst du Daten aus verschiedenen Quellen, einschließlich Word-Dokumenten, importieren und transformieren, ohne VBA-Programmierung.
  • Manuelles Kopieren: Wenn du nur gelegentlich Daten benötigst, kannst du den gewünschten Text auch manuell kopieren und in Excel einfügen.

Praktische Beispiele

Hier ein Beispiel, wie du den Code anpassen kannst, um mehrere Word-Dokumente in einem Verzeichnis zu durchsuchen:

Sub AuslesenVonMehrerenWordDateien()
    Dim objWordApp As Object
    Dim varText As String
    Dim myFile As String
    Dim myPath As String

    myPath = "C:\Pfad\zu\deinem\Ordner\"
    myFile = Dir(myPath & "*.docx")

    Set objWordApp = CreateObject("Word.Application")
    objWordApp.Visible = False

    Do While myFile <> ""
        objWordApp.Documents.Open myPath & myFile

        With objWordApp
            .Selection.Find.ClearFormatting
            .Selection.Find.Text = "Beihilfeantrag"
            .Selection.Find.Execute
            .Selection.EndKey Unit:=wdLine, Extend:=wdExtend
            varText = .Selection.Text
            Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = varText
        End With

        objWordApp.ActiveDocument.Close
        myFile = Dir
    Loop

    objWordApp.Quit
    Set objWordApp = Nothing
End Sub

Tipps für Profis

  • Makro-Programmierung optimieren: Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind und mögliche Fehler vermieden werden.
  • Zeilenanzahl überprüfen: Wenn du nur eine bestimmte Anzahl von Zeilen auslesen möchtest, kannst du eine Schleife einfügen, um die Zeilen nach Bedarf zu begrenzen.

FAQ: Häufige Fragen

1. Kann ich dieses Makro auch auf einem Mac verwenden? Ja, allerdings ist die VBA-Programmierung auf Mac etwas eingeschränkt. Du musst sicherstellen, dass die entsprechenden Bibliotheken aktiviert sind.

2. Wie kann ich den Schreibschutz in Word aufheben? Öffne die Datei in Word und gehe zu "Datei" > "Informationen". Dort kannst du den Schreibschutz aufheben.

3. Funktioniert das Makro auch mit älteren Word-Versionen? Ja, das Makro sollte mit den meisten aktuellen und älteren Versionen von Word funktionieren, solange die VBA-Umgebung vorhanden ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige