Richard Ohl
2012-01-04 17:23:58 UTC
Hallo,
ich habe eine Prozedur in Excel, die in Word Tabellen erstellt.
Mein Layout sieht so aus, dass ich grundsätzliche eine Zeile mit 3 Spalten
habe. In einigen Ausnahmen sind jedoch Spalten 2-3 oder gar alle 1-3
zusammengefasst.
Wenn ich nun oTable.Rows.Add benutze, wird immer die letzte Zeile kopiert,
ich muss nun abhängig von cells.count einen split oder merge benutzen und
die spaltenbreite erneut anpassen.
Geht das irgendwie eleganter? Habe schon überlegt, ob man nicht einfach die
erste Zeile (die immer leer ist) kopieren und einfügen soll oder sowas...
Dann hätte ich zumindest immer die 3 Spalten, und könnte nach Bedarf mergen.
Wäre über einen Tipp sehr dankbar.
Vielen Dank
Richard
P.S. So wird die Tabelle bei mir erstellt, das Dokument ist an der Stelle
grundsätzlich leer:
Set oTable = oDocument.Tables.Add(Range:=oDocument.Range(Start:=0,
End:=0), NumRows:=1, NumColumns:=3,
DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed)
With oTable
.Rows.Alignment = wdAlignRowCenter
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 100
.Style = "ISAFOSR"
.ApplyStyleHeadingRows = False
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = False
.ApplyStyleLastColumn = False
' resize columns
.Columns(1).PreferredWidthType = wdPreferredWidthPercent
.Columns(1).PreferredWidth = iCol1
.Columns(2).PreferredWidthType = wdPreferredWidthPercent
.Columns(2).PreferredWidth = iCol2
.Columns(3).PreferredWidthType = wdPreferredWidthPercent
.Columns(3).PreferredWidth = iCol3
.AutoFormat
End With
ich habe eine Prozedur in Excel, die in Word Tabellen erstellt.
Mein Layout sieht so aus, dass ich grundsätzliche eine Zeile mit 3 Spalten
habe. In einigen Ausnahmen sind jedoch Spalten 2-3 oder gar alle 1-3
zusammengefasst.
Wenn ich nun oTable.Rows.Add benutze, wird immer die letzte Zeile kopiert,
ich muss nun abhängig von cells.count einen split oder merge benutzen und
die spaltenbreite erneut anpassen.
Geht das irgendwie eleganter? Habe schon überlegt, ob man nicht einfach die
erste Zeile (die immer leer ist) kopieren und einfügen soll oder sowas...
Dann hätte ich zumindest immer die 3 Spalten, und könnte nach Bedarf mergen.
Wäre über einen Tipp sehr dankbar.
Vielen Dank
Richard
P.S. So wird die Tabelle bei mir erstellt, das Dokument ist an der Stelle
grundsätzlich leer:
Set oTable = oDocument.Tables.Add(Range:=oDocument.Range(Start:=0,
End:=0), NumRows:=1, NumColumns:=3,
DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed)
With oTable
.Rows.Alignment = wdAlignRowCenter
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 100
.Style = "ISAFOSR"
.ApplyStyleHeadingRows = False
.ApplyStyleLastRow = False
.ApplyStyleFirstColumn = False
.ApplyStyleLastColumn = False
' resize columns
.Columns(1).PreferredWidthType = wdPreferredWidthPercent
.Columns(1).PreferredWidth = iCol1
.Columns(2).PreferredWidthType = wdPreferredWidthPercent
.Columns(2).PreferredWidth = iCol2
.Columns(3).PreferredWidthType = wdPreferredWidthPercent
.Columns(3).PreferredWidth = iCol3
.AutoFormat
End With
--
Always carry a flagon of whiskey in case of snakebite and furthermore always
carry a small snake. -- W. C. Fields
Always carry a flagon of whiskey in case of snakebite and furthermore always
carry a small snake. -- W. C. Fields