VBA Word2003 in Tabelle schreiben

Luxor

Mitglied
Moin, moin,

ich bewege mich Berufsbedingt nun zum ersten mal in der VBA-Welt und ich hab ein paar Verständnisprobleme.
Mein Problem ist, ich muss aus einem Verzeichnis Exceldateien einlesen und diese in eine Worddatei schreiben, netter weise gibt es ein paar Exceldateien die in einer Zelle mehrere Zeilenumbrüche haben.
Meine Idee war also eine Exceltabelle einzulesen und dann eine Tabelle zu erzeugen und von Exceltabellenposition i,j in die gleiche Position in der Tabelle zu schreiben. Ich hab im Internet ein paar Hilfen gefunden und mich bis hier hin zurechtgefrickelt.

Sub ExcelSheetToWTable()
Dim xlMappe As Object
Dim text, temp As String
Dim Pfad, Blatt As String
Pfad = "c:\Beispiel\Text.xls"
Blatt = "Tabelle1"
Set xlMappe = GetObject(Pfad)

' Liest Tabelle1 komplett aus
MaxRows = xlMappe.Worksheets(Blatt).Cells.SpecialCells(11).Row
MaxCols = xlMappe.Worksheets(Blatt).Cells.SpecialCells(11).Column

'Erschaffte oTable
Set oTable = ActiveDocument.Tables.Add(NumRows:=MaxRows, NumColumns:=MaxCols, _
Range:=Selection.Range)

'Schreibe Excelltabelle in oTable
For RowIndex = 1 To MaxRows
For ColIndex = 1 To MaxCols
temp = xlMappe.Worksheets(Blatt).Cells(RowIndex, ColIndex).Value
oTable.Cells(RowIndex, ColIndex).Value = temp ' klappt nicht :(
Next ColIndex
Next RowIndex

xlMappe.Parent.Quit
Set xlMappe = Nothing
End Sub

Kann mir einer sagen wo mein Verständnisproblem liegt oder den korrekten Code posten?

Vielen Dank schon mal im vorraus

Luxor

P.S:Ich hab natürlich rausgefunden das mit mit der ConvertToTable-Methode eine Tabelle schneller generiert wird, ich stehe aber irgendwie auf der Leitung wie ich das aber bei Zellen machen soll die mehrere Zeillenumbrüche enthalten und für mich wäre es logischer wenn ich beim auslesen der Werte sie gleich in das andere Array -> sprich Table reinlege.
 
hab inzwischen eine nicht perfomante Lösung gefunden und ich muss sagen VBA finde ich immer unlogischer aber das ist wohl geschmackssache. :rolleyes:
 

Neue Beiträge

Zurück