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

Daten aus Word nach Excel

Forumthread: Daten aus Word nach Excel

Daten aus Word nach Excel
23.03.2009 19:56:35
Thomas
Hallo,
mit VBA für Word und mit dem Zusammenspiel kenne ich mich nicht sehr gut aus.
Ich will aus einem Word-Dokument alle "inneren" Tabellen herausfiltern und deren Inhalte nach Excel übertragen.
Bei der Ausführung folgenden Codes bleibt die Excel-Mappe unverändert, obwohl ich im Debugger sehe, dass
sWorkbook.Sheets("Tabelle1").Cells(k, 1).Value wie gewünscht belegt ist. Zudem kann anschliessend die Excel-Mappe nur schreibgeschützt geöffnet werden.
Wo liegen die Fehler, vielleicht kann mir jemand weiterhelfen . Danke !
Code:
  • Public appExcel As Object
    Public sWorkbook As Object
    Public sPfad As String
    Public sFile As String
    Public strWorkbook As String
    
    Sub TabellenExtract()
    Dim Tabelle As Table
    Dim cel As Cell
    Dim tblI As Table
    Dim r As Row
    Set Tabelle = ActiveDocument.Tables(1)
    OpenExcel
    k = 4
    For i = 1 To Tabelle.Rows.Count
    Set cel = Tabelle.Rows(i).Cells(1)
    If cel.Tables.Count > 0 Then
    Set tblI = cel.Tables(1)
    sWorkbook.Sheets("Tabelle1").Cells(k, 1).Value = tblI.Cell(1, 1).Range.Text
    k = k + 1
    End If
    Next i
    End Sub
    


    
    Sub OpenExcel()
    sPfad = "C:\Buchhaltung"
    sFile = "Test.xls"
    strWorkbook = sPfad & "\" & sFile
    'ExcelObject erstellen
    Set appExcel = CreateObject("Excel.Application")
    'datei öffnen
    appExcel.Workbooks.Open strWorkbook
    Set sWorkbook = appExcel.Workbooks(sFile)
    End Sub
    



  • Anzeige

    1
    Beitrag zum Forumthread
    Beitrag zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Daten aus Word nach Excel
    23.03.2009 22:56:15
    Anton
    Hallo Thomas,
    so vllt:

    Sub TabellenExtract()
      Dim Tabelle As Table  
      Dim appExcel As Object, sWorkbook As Object  
      Dim i As Long, k As Long  
      Dim strWorkbook As String, strValue As String  
      Set Tabelle = ActiveDocument.Tables(1)  
     'ExcelObject erstellen
      Set appExcel = CreateObject("Excel.Application")  
      appExcel.Visible = True
     'datei öffnen
      strWorkbook = "E:\Test.xls" 'anpassen
      Set sWorkbook = appExcel.Workbooks.Open(strWorkbook)  
      For i = 1 To Tabelle.Rows.Count  
        For k = 1 To Tabelle.Columns.Count  
          strValue = Replace(Tabelle.Rows(i).Cells(k).Range.Text, Chr(7), "")
          strValue = Replace(strValue, vbCr, "")
          sWorkbook.Sheets("Tabelle1").Cells(i, k).Value = strValue
        Next
      Next
    End Sub  

    mfg Anton
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken

    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