Hilfslinien automatisieren
#3
Hallo Oswald,

das Layer-Objekt bietet dafür zwei Methoden: CreateGuide und CreateGuideAngle. Bei CreateGuide werden als Parameter vier Koodinaten übergeben, bei CreateGuideAngle Zwei Koordinaten und ein Winkel.

Leider platziert VBA die Hilfslinien immer auf der Master-Ebene, egal auf welchen Layer man sich bezieht. Man kann das nur umgehen wenn man den Hilfslinien-Layer vorher aktiviert oder die Hilfslinie nach dem Erstellen verschiebt.

Beispiel:
Code:
Sub HLGitter1()
    Call HilfslinienGitter(10, ActiveDocument.Pages(2))
End Sub

Sub HilfslinienGitter(Abstand As Double, Seite As Page, Optional Master As Boolean = False)
    Dim HL As Shape
    ActiveDocument.Unit = cdrMillimeter
    x = 0
    'Verikal
    While x <= Seite.SizeWidth
        Set HL = ActiveLayer.CreateGuideAngle(x, 0, 90)
        If Not Master Then HLVerschieben Seite, HL
        x = x + Abstand
    Wend
    'Horizontal
    y = Seite.SizeHeight
    While y >= 0
        Set HL = ActiveLayer.CreateGuideAngle(0, y, 0)
        If Not Master Then HLVerschieben Seite, HL
        y = y - Abstand
    Wend
End Sub

Sub HLVerschieben(Seite As Page, HL As Shape)
    Dim L As Layer, GL As Layer
    For Each L In Seite.Layers
        If L.IsGuidesLayer Then
            Set GL = L
            Exit For
        End If
    Next
    HL.MoveToLayer GL
End Sub

Im Beispiel wird die CreateGuideAngle-Methode verwendet. Die Hilfslinen werden erstellt und dann auf die Hilfslinienebene der angegebenen Seite verschoben. Wenn Du beim Aufruf der Sub HilfslinienGitter den optionalen Parameter „Master“ auf true setzt, bleiben die Hilfslinien auf der Master-Ebene.

Noch eine kleine Anmerkung:
Ich verlasse mich hier darauf, dass die Abbruchbedingungen der While-Schleifen funktionieren (no risk, no fun). Wenn Du Bammel vor ungewollten Endlos-Schleifen hast, musst Du die Anzahl der benötigten Hilfslinien vorher berechnen lassen und For-Schleifen benutzen.

Gruß

Koter
Zitieren



Nachrichten in diesem Thema
Hilfslinien automatisieren - von OsCor - 23.05.2015, 09:55
Hilfslinien automatisieren - von norre - 23.05.2015, 12:56
Hilfslinien automatisieren - von koter - 23.05.2015, 19:49
Hilfslinien automatisieren - von OsCor - 23.05.2015, 21:16

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Hilfslinien auf Objektmittelpunkt fixieren Karthagos 6 747 13.09.2023, 15:01
Letzter Beitrag: Karthagos
  Hilfslinien Boerni 7 863 28.07.2023, 08:19
Letzter Beitrag: Boerni
  Hilfslinien für den druckbaren Bereich Karthagos 6 1.452 15.11.2022, 03:42
Letzter Beitrag: koter
  Hilfslinien bequem setzen Karthagos 13 2.810 11.04.2021, 09:53
Letzter Beitrag: norre
  Hilfslinien automatisch verschieben bei Formatwechsel OsCor 6 2.558 12.12.2018, 23:49
Letzter Beitrag: norre
  Voreingestellte Hilfslinien weschka 3 1.587 08.12.2018, 21:39
Letzter Beitrag: koter
  PhotoPaint Objekt verzerren Hilfslinien stören Karthagos 6 1.998 23.02.2018, 23:30
Letzter Beitrag: Karthagos
  Corel Draw: Collage mit vielen Fotos automatisieren? anorak 9 5.664 09.10.2015, 13:23
Letzter Beitrag: anorak
  Hilfslinien auf zwei Seiten anwenden? Tüfftele 3 1.766 24.02.2015, 20:46
Letzter Beitrag: norre
  Hilfslinien Eichhorn 3 1.569 18.12.2014, 23:39
Letzter Beitrag: norre