markierte Textbox mit Text verschieben

  • Word

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Lupus.

    markierte Textbox mit Text verschieben

    Hi,

    ich hänge grade an einer Sache, und bei Google konnte ich auch nichts brauchbares finden: Wie kann man per Makro festlegen, ob ein Textfeld mit dem Text verschoben wird (in den Textfeldeigenschaften unter Layout->Weitere->Bildposition "Objekt mit Text verschieben")? Der Sinn der Sache ist, dass ich das Textfeld per Makro gerne an den oberen Seitenrand bekommen möchte, weil wenn ich es manuell machen will, springt es immer an die Seitenkante, und da kann ich es nicht gebrauchen. Somit stelle ich per Makro ein, dass das Feld 0,1cm vom Seitenrand (vertikal) entfernt ist, und möchte es nun aber auch mit dem Text verschieben lassen.

    Visual Basic-Quellcode

    1. Selection.ShapeRange.RelativeVerticalPosition = wdRelativeVerticalPositionMargin
    2. Selection.ShapeRange.Top = CentimetersToPoints(0.1)

    Wenn ich einfach den Bezugspunkt wieder auf Absatz stelle, ist das Feld aber 0,1cm vom Absatz entfernt, also meistens nicht mehr am Seitenrand.
    Ich hoffe, ihr versteht wie ich das meine!

    vG,
    Lupus
    Du musst Dich schon entscheiden: Entweder Abstand vom Seitenrand, dann keine Bindung an den Text oder Bindung an den Text (Absatz), dann aber kein Abstand vom Seitenrand. Beides geht nicht.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    ja dsa ist mir auch klar ^^
    ich glaub ich habe es nicht genau genug erklärt: wenn man bei Word manuell angibt, 0cm Abstand zum Seitenrand, demakiert er logischerweise auch "Objekt mit Text verschieben". Wenn ich nun bestätige und die Feldeigenschaften erneut öffne, und "Objekt mit Text verschieben" markiere, stellt er automatisch auf Bezug auf Absatz ein, und der Wert wird automatisch angegeben (berechnet der iwie), z.b. dann auf -2,5cm oder so... Und das würde ich gerne automatisch machen
    Word berechnet den Wert nicht irgendwie, sondern nimmt den Wert, der in den Seiteneinstellungen für den oberen Seitenrand angegeben ist. Diesen musst Du dann auch für Deinen Code verwenden.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).