24.12.2018, 20:48
Ha((o
Bin am verzweifeln. Formatiere von Excel aus in Word eine Tabelle.
Bin in Foren gewesen und Hilfe und meine Paramter müssten passen, aber das Verhalten ist sehr komisch. D.h. auf einige Parameter reagiert es richtig auf andere nicht. Ich vermute einen Fehler im System. Folgende Diskrepanzen:
1. Rechtsbündigkeit in Spalte 8 bringt einen Fehler.
2. oberer Rahmen erste Zeile läßt sich nicht mit "xlEdgeTop" ansprechen. Aber mit einer 1. Im Code unten nun mit einer 1.
3. Und das verrücksteste für mich ist der gleiche Code wie oben. "LineStyle" wird akzeptiert, aber "Weight" bringt einen Fehler. Wieso?
Und nun der gesamte Code:
Weiß jemand wo das Problem ist? Wie gesagt, ich vermute ein Systemproblem.
Danke Euch
Grüße
Bin am verzweifeln. Formatiere von Excel aus in Word eine Tabelle.
Bin in Foren gewesen und Hilfe und meine Paramter müssten passen, aber das Verhalten ist sehr komisch. D.h. auf einige Parameter reagiert es richtig auf andere nicht. Ich vermute einen Fehler im System. Folgende Diskrepanzen:
1. Rechtsbündigkeit in Spalte 8 bringt einen Fehler.
Code:
.Columns(8).ParagraphFormat.Alignment = wdAlignParagraphRight
2. oberer Rahmen erste Zeile läßt sich nicht mit "xlEdgeTop" ansprechen. Aber mit einer 1. Im Code unten nun mit einer 1.
Code:
With wdtable.Rows(1).Borders(1) 'oberste Umrandung der ersten Zeile
.LineStyle = xlContinuous
.Weight = xlThick
End With
3. Und das verrücksteste für mich ist der gleiche Code wie oben. "LineStyle" wird akzeptiert, aber "Weight" bringt einen Fehler. Wieso?
Und nun der gesamte Code:
Code:
Sub Tabelle_Fuellen(ByRef wddoc As Word.Document)
Dim z1 As Integer
Dim z2 As Integer
Dim rabatt As Boolean
Dim wdtable As Object
Call Rechnungsbereich_Festlegen(z1, z2, rabatt)
If rabatt = True Then
Set wdtable = wddoc.Tables.Add(Range:=wddoc.Bookmarks("Tabelle").Range, NumRows:=z2 - z1 + 1, NumColumns:=8)
With wdtable
.Columns(1).PreferredWidth = CentimetersToPoints(0.9) 'Position
.Columns(2).PreferredWidth = CentimetersToPoints(2) 'Art.Nr.
.Columns(3).PreferredWidth = CentimetersToPoints(6.5) 'Bezeichnung
.Columns(4).PreferredWidth = CentimetersToPoints(0.8) 'Menge
.Columns(5).PreferredWidth = CentimetersToPoints(1.2) 'Einheit
.Columns(6).PreferredWidth = CentimetersToPoints(2) 'Originalpreis
.Columns(7).PreferredWidth = CentimetersToPoints(1.6) 'Rabatt
.Columns(8).PreferredWidth = CentimetersToPoints(2) 'Gesamtpreis
' .Columns(8).ParagraphFormat.Alignment = wdAlignParagraphRight
End With
Else
'Set wdtable = wddoc.Tables.Add(Range:=wddoc.Bookmarks("Tabelle").Range, NumRows:=z2 - z1 + 1, NumColumns:=7, defaulttablebehavior:=wdWord8TableBehavior, AutoFitBehavior:=WdAutoFitBehavior)
End If
With wdtable.Rows(1).Borders(1) 'oberste Umrandung der ersten Zeile
.LineStyle = xlContinuous
.Weight = xlThick
End With
With wdtable.Rows(1).Borders(3) 'untere Umrandung der ersten Zeile
.LineStyle = xlContinuous
.Weight = 2
End With
End Sub
Weiß jemand wo das Problem ist? Wie gesagt, ich vermute ein Systemproblem.
Danke Euch
Grüße