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
  Corel Draw Bibliothek und Hilfslinien anorak 6 1.997 23.11.2025, 08:28
Letzter Beitrag: anorak
  Hilfslinien auf Objektmittelpunkt fixieren Karthagos 6 2.406 13.09.2023, 15:01
Letzter Beitrag: Karthagos
  Hilfslinien Boerni 7 2.632 28.07.2023, 08:19
Letzter Beitrag: Boerni
  Hilfslinien für den druckbaren Bereich Karthagos 6 3.392 15.11.2022, 03:42
Letzter Beitrag: koter
  Hilfslinien bequem setzen Karthagos 13 5.412 11.04.2021, 09:53
Letzter Beitrag: norre
  Hilfslinien automatisch verschieben bei Formatwechsel OsCor 6 4.438 12.12.2018, 23:49
Letzter Beitrag: norre
  Voreingestellte Hilfslinien weschka 3 2.746 08.12.2018, 21:39
Letzter Beitrag: koter
  PhotoPaint Objekt verzerren Hilfslinien stören Karthagos 6 3.441 23.02.2018, 23:30
Letzter Beitrag: Karthagos
  Corel Draw: Collage mit vielen Fotos automatisieren? anorak 9 8.113 09.10.2015, 13:23
Letzter Beitrag: anorak
  Hilfslinien auf zwei Seiten anwenden? Tüfftele 3 2.757 24.02.2015, 20:46
Letzter Beitrag: norre