WordTabelle in WordTabelle auslesen

  • Word

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von greece57.

    WordTabelle in WordTabelle auslesen

    Hallo
    ich möchte eine Tabelle in einer Tabelle auslesen
    Diese sieht dann so aus:


    Ich möchte jetzt die Daten aus der Zelle 2,2 als Tabelle auslesen
    Den ich muss die Strings aus 2,2-1,1 2,2-1,2 und 2,2-1,3 auslesen können und muss in 2,2-2,1 ein Bild einfügen können

    Bis jetzt sieht der Code für einfache Tabellen so aus:

    Visual Basic-Quellcode

    1. Private Sub SearchInTabel(ByRef actTabel As Microsoft.Office.Interop.Word.Table)
    2. Dim helpTabel As Microsoft.Office.Interop.Word.Table
    3. For i = 1 To actTabel.Rows.Count
    4. For j = 1 To actTabel.Columns.Count
    5. Try
    6. If actTabel.Cell(i, j).Range.Text.Contains("KEYWORD") Then
    7. If (actTabel.Cell(i, j + 2).Range.Text.Contains("{") _
    8. And actTabel.Cell(i, j + 2).Range.Text.Contains("}")) Then 'Nur ausführen wenn auch der richtige string im Feld 2 weiter steht
    9. If (actTabel.Cell(i, j + 1).Range.Text.Contains(strNOTE)) Then
    10. PutNoteInTabel(actTabel)
    11. ElseIf (actTabel.Cell(i, j + 1).Range.Text.Contains(strDIAGRAM)) Then
    12. PutPicInTabel(actTabel)
    13. End If
    14. End If
    15. End If
    16. Catch ex As System.Runtime.InteropServices.COMException
    17. Try
    18. helpTabel = actTabel.Cell(i, j) ' <- Das hier geht nicht und wirft eine Cast Exception aus
    19. ' aber mir ist nix besseres eingefallen wie ich es lösen soll -.-
    20. SearchInTabel(helpTabel) ' und so hatte ichs mir dann eigentlich gedacht per Rekursion weiter zu suchen
    21. Catch ex2 As Exception
    22. End Try
    23. Catch ex As Exception
    24. MsgBox(ex.Message)
    25. End Try
    26. Next
    27. Next
    28. End Sub


    Hat vielleicht jmd ne Idee wie ich mit der Tabelle in der Tabelle arbeiten kann?
    Bin für jede Hilfestellung dankbar :)

    Danke im Vorraus
    Lösung:

    Habe die innere Try Catch Schleife in der die Rekursion aufgerufen werden soll jetzt so gelöst:

    Visual Basic-Quellcode

    1. ' ...
    2. Try
    3. For Each element As Microsoft.Office.Interop.Word.Table In actTabel.Tables
    4. SearchInTabel(element, strErrorlist, myRep)
    5. Next
    6. Catch ex2 As Exception
    7. End Try
    8. ' ...


    Danke an alle die mitgedacht haben und gerne an alle die irgendwann mal auf diesen Thread stoßen und das gleiche Problem haben wie ich :D