Hallo zusammen,
ich versuche eine Textbox in verschiedenen Word-Dokumenten zu platzieren. Unabhängig von den Texträndern immer an der selben Position vom linken oberen Seitenrand.
Wenn ich mir dann die Box in der Word-Oberfläche anschaue stimmt die Position meistens nicht. Oft wird sie von den Texträndern aus platziert. Und sie wandert meist mit dem Text. Beides sollte aber nicht sind. Wenn ich mir in Word die Einstellungen anzeigen lasse, scheinen die korrekt zu sein. Nur scheint Word sie nicht umzusetzen. Im Eigenschaftenfenster rechnet Word doch normalerweise auch die Entfernung um, wenn ich zwischen Seite und Seitenrand umstelle. Auch das passiert in den Fällen nicht.
Diesen Code verwende ich:
With Rahmen
.Line.Visible = msoFalse
.LockAspectRatio = msoFalse
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = CentimetersToPoints(22.5)
.Left = CentimetersToPoints(2.5)
.Width = CentimetersToPoints(16)
.Height = CentimetersToPoints(1.4)
End With
With Rahmen.TextFrame
.AutoSize = msoFalse
.MarginTop = 0
.MarginBottom = 0
.MarginLeft = 0
.MarginRight = 0
.VerticalAnchor = msoAnchorTop
End With
With Rahmen.TextFrame.TextRange
' Hier füge ich Text in den Rahmen ein und formatiere ihn
End With
With Rahmen
.LockAnchor = msoFalse
.LockAspectRatio = msoTrue
.AlternativeText = .TextFrame.TextRange.Text
End With
Mit dem .LockAnchor = msoFalse bin ich noch nicht ganz sicher. Da habe ich beide Einstellungen getestet und keinen 100%igen Erfolg gehabt.
Habt ihr eine Idee, was das falsch ist? Kann es sein, dass in dem Dokument was nicht stimmt, in dem der Rahmen eingefügt wird? Oder muss ich nach dem setzen der ganzen Parameter Word noch dazu bringen, dass er den Rahmen neu zeichnet?
Eigentlich würde ich gerne auch die Position und den Inhalt des Rahmens vor manuellen Änderungen schützen. Aber das scheint in Word auch nicht zu gehen. Oder gibt es dafür eine Lösung? Außer eine transparente Shape über der Textbox zu platzieren. ;-)
Viele Grüße
Oli
|