Hallo Leute,
so ich habe es doch noch hinbekommen:
.PreferredWidthType = WdPreferredWidthType.wdPreferredWidthPercent
.PreferredWidth = 100
For i As Integer = 1 To .Columns.Count
w += .Columns(i).Width
Next
.Columns(1).SetWidth(myWord.WdApp.Application.CentimetersToPoints(3), WdRulerStyle.wdAdjustNone)
.Columns(2).SetWidth(w - .Columns(1).Width, WdRulerStyle.wdAdjustNone)
Erst stelle ich die Tabellenbreite auf gesamte Seitenbreite ein (100%)
Anschließend ermittle ich einfach die Summe der Spaltenbreiten (w=Tabellenbreite in Points).
Von hier aus referenziere ich einfach meine Spalten mit der festen Breite mit .SetWidth =
Anschließend subtrahiere ich von der Tabellenbreite einfach immer die bereits vergebenen Spaltenbreiten ab und verteile diese auf die verbleibenden nach belieben.
In meinem Fall bei einer 4-Spaltigen Tabelle, wobei die Spalten 1+3 fest sein sollen, sieht das ganze dann so aus:
With oTable
.PreferredWidthType = WdPreferredWidthType.wdPreferredWidthPercent
.PreferredWidth = 100
.Columns(1).SetWidth(myWord.WdApp.Application.CentimetersToPoints(3), WdRulerStyle.wdAdjustNone)
.Columns(3).SetWidth(myWord.WdApp.Application.CentimetersToPoints(3), WdRulerStyle.wdAdjustNone)
.Columns(2).SetWidth((w - .Columns(1).Width - .Columns(3).Width) \ 2, WdRulerStyle.wdAdjustNone)
.Columns(4).SetWidth(.Columns(2).Width, WdRulerStyle.wdAdjustNone)
End With
Mein Problem ist damit gelöst.
Gruß Ahmed