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

Aus Word Text in Excel mit VBA kopieren

Forumthread: Aus Word Text in Excel mit VBA kopieren

Aus Word Text in Excel mit VBA kopieren
06.05.2015 13:49:13
Janis
Hallo zusammen,
dieses Forum hat mir schon häufig geholfen, nun komme ich nicht mehr drum herum, selber einen Beitrag zu schreiben.
Es geht um fogendes Problem:
Ich habe ein Word-Dokument mit mehreren Inhaltssteuerelementen. Nun möchte ich mit Hilfe eines VBAs den Inhalt bestimmter Inhaltssteuerelemente auslesen und in die letzte Zeile meiner Excel Tabelle kopieren.
Ich habe bereits den Code erstellt, mit dem man die gewünschte Datei öffnen kann.
Nun fehlt mir noch der Part mit dem Kopieren des Inhalts.
Sub Schaltfläche1_Klicken()
'Variablendefinition
Dim ziel As Object
Dim datei As String
Dim WordApp As New word.Application
datei = Application.GetOpenFilename("Word-Datei(*.docx),*docx")
'Wenn keine Datei ausgewählt
If datei = "Falsch" Then
MsgBox "keine Datei ausgewählt", , "Abbruch"
Exit Sub
End If
With WordApp
.Visible = True
.Documents.Open Filename:=datei
End With
End Sub

Vielen Dank schon mal für eure Hilfe.
LG
Janis

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Inhaltssteuerelemente aus Word...
06.05.2015 14:14:37
Janis
Servus Case,
das sieht sehr gut aus.
Bei mir sollen jedoch nicht alle Elemente ausgelesen werden. Wie kann ich auf einzelne Inhaltssteuerelemente zugreifen?
Gruß
Janis

Anzeige
Lade doch mal...
06.05.2015 19:57:50
Case
Hallo, :-)
...eine Word-Beispieldatei hoch an der man sieht, was ausgelesen werden soll.
Servus
Case

;
Anzeige
Anzeige

Infobox / Tutorial

Inhalte aus Word mit VBA in Excel übertragen


Schritt-für-Schritt-Anleitung

Um Inhalte aus einem Word-Dokument in eine Excel-Tabelle zu kopieren, musst Du ein VBA-Skript erstellen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Modul einfügen: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), wähle Einfügen und dann Modul.

  3. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Schaltfläche1_Klicken()
       'Variablendefinition
       Dim ziel As Object
       Dim datei As String
       Dim WordApp As New Word.Application
       datei = Application.GetOpenFilename("Word-Datei(*.docx),*docx")
       'Wenn keine Datei ausgewählt
       If datei = "Falsch" Then
           MsgBox "keine Datei ausgewählt", , "Abbruch"
           Exit Sub
       End If
       With WordApp
           .Visible = True
           .Documents.Open Filename:=datei
       End With
    
       'Hier kannst Du den Code zum Auslesen der Inhaltssteuerelemente hinzufügen
    End Sub
  4. Word-Dokument auswählen: Führe das Skript aus. Ein Dialogfeld öffnet sich, in dem Du die Word-Datei auswählen kannst.

  5. Inhaltssteuerelemente auslesen: Füge den Code zum Auslesen der spezifischen Inhaltssteuerelemente hinzu, die Du in Excel übertragen möchtest.


Häufige Fehler und Lösungen

  • Fehler: "Keine Datei ausgewählt"

    • Lösung: Stelle sicher, dass Du eine gültige Word-Datei auswählst, bevor Du auf „Öffnen“ klickst.
  • Fehler: "Gegenstand nicht gefunden"

    • Lösung: Überprüfe, ob die Inhaltssteuerelemente im Word-Dokument korrekt eingerichtet sind.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch die folgenden Alternativen in Betracht ziehen:

  • Manuelles Kopieren: Öffne das Word-Dokument und kopiere den gewünschten Text manuell in Excel.
  • Power Query: Nutze Power Query in Excel, um Daten aus Word-Dokumenten zu importieren. Diese Methode ist besonders nützlich, wenn Du regelmäßig Daten importieren musst.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du spezifische Inhaltssteuerelemente auslesen kannst:

Dim inhalt As String
inhalt = WordApp.ActiveDocument.ContentControls(1).Range.Text 'Ersetze 1 durch die ID des gewünschten Inhaltssteuerelements
Worksheets("Tabelle1").Cells(1, 1).Value = inhalt 'Füge den Text in die Zelle A1 ein

Tipps für Profis

  • Verwende Schleifen: Wenn Du mehrere Inhaltssteuerelemente auslesen möchtest, kannst Du eine Schleife verwenden, um den Code effizienter zu gestalten.

    Dim i As Integer
    For i = 1 To WordApp.ActiveDocument.ContentControls.Count
      Worksheets("Tabelle1").Cells(i, 1).Value = WordApp.ActiveDocument.ContentControls(i).Range.Text
    Next i
  • Fehlerbehandlung einfügen: Implementiere On Error Resume Next, um sicherzustellen, dass Dein Code nicht bei einem Fehler stoppt.


FAQ: Häufige Fragen

1. Wie kann ich auf bestimmte Inhaltssteuerelemente zugreifen?
Du kannst auf Inhaltssteuerelemente über deren Index oder Tag zugreifen. Beispiel: WordApp.ActiveDocument.ContentControls("MeinTag").Range.Text.

2. Funktioniert das auch in Excel 365?
Ja, das VBA-Skript funktioniert in Excel 365 und anderen aktuellen Versionen von Excel. Achte darauf, dass die notwendigen Verweise auf die Word-Bibliothek gesetzt sind.

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