Thema Datum  Von Nutzer Rating
Antwort
17.02.2021 00:15:13 Ronja
NotSolved
17.02.2021 13:13:43 Ronja
NotSolved
Rot Aus Word kopieren
17.02.2021 14:23:16 Mase
NotSolved
17.02.2021 14:51:33 Ronja
NotSolved
17.02.2021 15:09:52 Gast90099
NotSolved
17.02.2021 21:07:51 Gast74350
NotSolved
17.02.2021 21:56:28 Mase
NotSolved
17.02.2021 22:23:24 Ronja
NotSolved
18.02.2021 08:09:35 Mase
NotSolved

Ansicht des Beitrags:
Von:
Mase
Datum:
17.02.2021 14:23:16
Views:
475
Rating: Antwort:
  Ja
Thema:
Aus Word kopieren

Quick and Dirty:

Option Explicit

Sub main()
   
    Dim v As Variant
    
    With CreateObject(class:="Word.Application")
        v = fGetTable(.Documents.Open("C:\Test\Word\Microsoft Word Document (neu).docx"))
        .Quit
    End With
    
    Range("A1").Resize(UBound(v, 1), UBound(v, 2)).Value = v
End Sub
Function fGetTable(ByRef wdDoc As Object) As Variant

    Dim tbl                                             As Object   'Word.Table
    Dim rw                                              As Object   'Word.Row
    Dim c                                               As Object   'Word.Cell
    Dim arr()                                           As Variant
    Dim i                                               As Long     'outer counter
    Dim ii                                              As Long     'inner "-----"
    
    With wdDoc.Tables(1)
        ReDim arr(1 To .Rows.Count, 1 To (.Rows(1).Cells.Count))
    End With
    
    i = 0:    ii = 0
    For Each tbl In wdDoc.Tables
        For Each rw In tbl.Rows: i = i + 1
            For Each c In rw.Cells: ii = ii + 1
                arr(i, ii) = c.Range.Text
            Next
            ii = 0
        Next
    Next
    
    '*** ret
    fGetTable = arr
    
End Function


Der Code gehört in ein allgemeines Modul in Excel.

Er erzeugt eine Word Instanz und greifft direkt auf die erste Tabelle zu.

Durchläuft alle Zeilen - je zeile, alle Zellen und merkt sich deren Inhalt in einem zweidimensionalen Array.

Dieses ist geschickt, um in einem Rutsch in Excel, zusammenhängend, ab einer definierten Stelle in Zellen zu schreiben.


Achte auf die Kommentare. Somit kannste Du schnell von Late auf Early-Binding umstellen, sofern du die Intellisense verwenden möchtest.

Aber denk dran, den Verweis über Extras auch ordentlich zu setzen.

 


Keine Fehlerbehandlung

Wenn der Pfad nicht angepasst wird ...

Das Dokument keine Tabelle besitzt ... 

usw ... dann krachts im Gebälk :)


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
17.02.2021 00:15:13 Ronja
NotSolved
17.02.2021 13:13:43 Ronja
NotSolved
Rot Aus Word kopieren
17.02.2021 14:23:16 Mase
NotSolved
17.02.2021 14:51:33 Ronja
NotSolved
17.02.2021 15:09:52 Gast90099
NotSolved
17.02.2021 21:07:51 Gast74350
NotSolved
17.02.2021 21:56:28 Mase
NotSolved
17.02.2021 22:23:24 Ronja
NotSolved
18.02.2021 08:09:35 Mase
NotSolved