Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Objetke ausrichten ohne (bzw. mit festem) Abstand

  1. #1
    Neuer Benutzer Newbie
    Registriert seit
    30.07.2011
    Beiträge
    18

    Standard Objetke ausrichten ohne (bzw. mit festem) Abstand

    Guten Morgen,

    ich habe mehrere Objekte (Rechtecke) die ich ohne Abstand (bzw. mit fest vorgegebenem) Abstand ausrichten möchte. Die Objekte können dabei unterschiedliche Maße haben ...

    Zwischenablage02.jpg

    Ich finde jedoch nur "gleichmäßig Verteilen" mit Option auf Seitenbreite oder Auswahlumfang ... keine definierbaren Abstände.

    Finde ich die Funktion nicht, gibt es das nicht, oder bin ich durch mein Satzprogramm Calamus nur einfach viel zu verwöhnt?

    Helft mir bitte einmal auf die Sprünge,
    Dankeschön!

    Andreas.

  2. #2
    Erfahrener Benutzer Profi Member
    Registriert seit
    24.03.2012
    Beiträge
    932

    Standard

    Hallo Andreas,

    Zitat Zitat von abru Beitrag anzeigen
    ...Finde ich die Funktion nicht, gibt es das nicht, oder bin ich durch mein Satzprogramm Calamus nur einfach viel zu verwöhnt?
    ich habe die Funktion auch nicht gefunden.
    Falls auch kein anderes Forenmitglied die Funktion findet, kannst Du es mit einem Makro versuchen:



    Code:
    Sub HorizontalerAbstand()
        
        Dim PosStID()
        If ActiveSelectionRange.Shapes.Count < 2 Then Exit Sub
        ActiveDocument.Unit = cdrMillimeter
    
        AbstandS = InputBox("Abstand in Millimeter", "Abstand", "1")
        If AbstandS = "" Then Exit Sub
        Abstand = Val(AbstandS)
        Dim s1 As Shape, s2 As Shape
        i = ActiveSelectionRange.Shapes.Count
        ReDim PosStID(0 To i - 1, 0 To 1)
        i = 0
        For Each s In ActiveSelectionRange.Shapes
            
                PosStID(i, 0) = s.PositionX
                PosStID(i, 1) = s.StaticID
                i = i + 1
          
        Next
        Call QuickSortMultiDim(PosStID)
        ActiveDocument.BeginCommandGroup "Abstand einstellen"
        For i = 1 To UBound(PosStID)
            Set s1 = ActivePage.FindShape(StaticID:=PosStID(i - 1, 1))
            Set s2 = ActivePage.FindShape(StaticID:=PosStID(i, 1))
            s2.LeftX = s1.RightX + Abstand
        Next i
        ActiveDocument.EndCommandGroup
        
    End Sub
    
    'Quelle: Dieter Otter
    'https://www.vbarchiv.net/tipps/tipp_1881-2-dimensionales-array-nach-beliebiger-spalte-sortieren.html
    Public Sub QuickSortMultiDim(vSort As Variant, _
      Optional ByVal index As Integer = 1, _
      Optional ByVal lngStart As Variant, _
      Optional ByVal lngEnd As Variant)
     
      ' Wird die Bereichsgrenze nicht angegeben,
      ' so wird das gesamte Array sortiert
     
      If IsMissing(lngStart) Then lngStart = LBound(vSort)
      If IsMissing(lngEnd) Then lngEnd = UBound(vSort)
     
      Dim i As Long
      Dim j As Long
      Dim h As Variant
      Dim x As Variant
      Dim u As Long
      Dim lb_dim As Integer
      Dim ub_dim As Integer
     
      ' Anzahl Elemente pro Datenzeile
      lb_dim = LBound(vSort, 2)
      ub_dim = UBound(vSort, 2)
     
      i = lngStart: j = lngEnd
      x = vSort((lngStart + lngEnd) / 2, index - 1)
     
      ' Array aufteilen
      Do
     
        While (vSort(i, index - 1) < x): i = i + 1: Wend
        While (vSort(j, index - 1) > x): j = j - 1: Wend
     
        If (i <= j) Then
          ' Wertepaare miteinander tauschen
          For u = lb_dim To ub_dim
            h = vSort(i, u)
            vSort(i, u) = vSort(j, u)
            vSort(j, u) = h
          Next u
          i = i + 1: j = j - 1
        End If
      Loop Until (i > j)
     
      ' Rekursion (Funktion ruft sich selbst auf)
      If (lngStart < j) Then QuickSortMultiDim vSort, index, lngStart, j
      If (i < lngEnd) Then QuickSortMultiDim vSort, index, i, lngEnd
    End Sub
    Gruß

    Koter
    W7pro|Corel X4/X7(64 Bit)

  3. #3
    Erfahrener Benutzer Profi Member
    Registriert seit
    14.12.2011
    Beiträge
    4.141

    Standard

    Hallo Andreas,
    teile und bitte immer deine Corel Version mit, auch ob es eine Vollversion oder eine Home&Student Version ist.
    Schau dazu bitte auch HIER

    Nein so eine Funktion ist mir in Draw nicht bekannt.
    Die einzige Möglichkeit einen Abstand zu definieren (bei gleichen Objekten), ist die Funktion Vielfach Duplizieren im Menü bearbeiten bzw. als Andockfenster

    Um händisch gleiche Abstände zu setzen gäbe es noch in der Symbolleiste Layout die Funktion intelligenter Abstand und die Funktion Ränder als Hilfslinien.
    Wenn kein Abstand gewünscht gehts natürlich direkt mit an Objekten ausrichten

    Gruß
    Norre
    Geändert von norre (14.07.2018 um 13:14 Uhr)
    Benachrichtigung bei neuen Antworten, schau --> HIER

    Alle Angaben ohne Gewähr
    .
    Win7 64bit & Win8.1 - Corel Suite X6.4 (32bit) mit X6.4Hotfix1 - ein paar alte Corel Draw und Photopaint Versionen schwirren auch noch rum

  4. #4
    Neuer Benutzer Newbie
    Registriert seit
    30.07.2011
    Beiträge
    18

    Standard

    Super, danke. Insbesondere an kote mit dem Makro. Das trifft genau, was ich wollte.

    Gib es zur Makroprogrammierung einen Leitfaden oder ein Tutorial? Damit will ich mich auch beschäftigen!

    Ich habe die Version 2017 als Vollversion, "intiligenter Abstand" habe ich auf die Schnelle nicht gefunden ... bei Hilfslinien und "Ränder als Hilfslinien" muss ich die Rahmen ja wieder mit der Maus anfassen.

    Dankeschön,
    Andreas.

  5. #5
    Erfahrener Benutzer Profi Member
    Registriert seit
    14.12.2011
    Beiträge
    4.141

    Standard

    Hallo Andreas,
    ja in Corel selber gehts nur händisch, mit Ausnahme von DR. mak Koters Macro - klasse wie immer

    Hier noch zur Info der intelligentem Abstand - natürlich händisch
    Wenn du schon ein Objekt mit einem Abstand platziert hast und das nächste Objekt ranschiebst bekommst du bei gleichem Abstand die Indikatoren unten als Doppelpfeil angezeigt, im Objekt erscheint der Abstand und das Objekt rastet leicht ein.

    IntAbstand.jpg

    Gruß
    Norre
    Geändert von norre (19.07.2018 um 17:57 Uhr)
    Benachrichtigung bei neuen Antworten, schau --> HIER

    Alle Angaben ohne Gewähr
    .
    Win7 64bit & Win8.1 - Corel Suite X6.4 (32bit) mit X6.4Hotfix1 - ein paar alte Corel Draw und Photopaint Versionen schwirren auch noch rum

  6. #6
    Erfahrener Benutzer Profi Member
    Registriert seit
    24.03.2012
    Beiträge
    932

    Standard

    Hallo Andreas!

    Zitat Zitat von abru Beitrag anzeigen
    ...Gib es zur Makroprogrammierung einen Leitfaden oder ein Tutorial? Damit will ich mich auch beschäftigen!...
    Ja, es gibt einen Leitfaden. Bei meiner X7 versteckt sich der „Macro Programming Guide“ im Ordner
    C:\Program Files\Corel\CorelDRAW Graphics Suite X7\Data

    Für Leute, die noch nie programmiert haben, eignet sich der Guide eher weniger. Wenn Grundkenntnisse vorhanden sind, ist er ein guter Einstieg.

    Gruß

    Koter
    W7pro|Corel X4/X7(64 Bit)

  7. #7
    Neuer Benutzer Newbie
    Registriert seit
    30.07.2011
    Beiträge
    18

    Standard

    Danke, aber das ist händisch - und ich hatte eine Menge Objekte mit unterschiedlicher Breite.

  8. #8
    Neuer Benutzer Newbie
    Registriert seit
    30.07.2011
    Beiträge
    18

    Standard

    Danke koter, ich schaue mir das mal an. Ich habe früher mal was in Basic programmiert :-)

    Gruß Andreas.

  9. #9
    Erfahrener Benutzer Profi Member
    Registriert seit
    14.12.2011
    Beiträge
    4.141

    Standard

    Hallo,
    John von GDG Macros hat mal einen Workshop für Makros erstellt.
    Hier zu finden:
    https://community.coreldraw.com/coll...os-vba-lessons

    ob das für die neuen Corel Versionen noch aktuell ist kann ich dir nicht sagen, vielleicht könnte Koter mal kurz drüberschauen

    Gruß
    Norre
    Benachrichtigung bei neuen Antworten, schau --> HIER

    Alle Angaben ohne Gewähr
    .
    Win7 64bit & Win8.1 - Corel Suite X6.4 (32bit) mit X6.4Hotfix1 - ein paar alte Corel Draw und Photopaint Versionen schwirren auch noch rum

  10. #10
    Erfahrener Benutzer Profi Member
    Registriert seit
    24.03.2012
    Beiträge
    932

    Standard

    Hallo Andreas,

    Zitat Zitat von abru Beitrag anzeigen
    ...Ich habe früher mal was in Basic programmiert...
    Das sind doch gute Voraussetzungen, VBA ist auch nur ein Basic-Dialekt!

    Zitat Zitat von norre Beitrag anzeigen
    ...ob das für die neuen Corel Versionen noch aktuell ist kann ich dir nicht sagen, vielleicht könnte Koter mal kurz drüberschauen...
    Ich besitze leider keine der neuen Versionen, somit kann ich das nicht beurteilen. Das Vorgehen im ersten Video wäre allerdings schon in X7 anders, dafür gibt es eine Funktion im Makro-Manager.
    Ich finde Lehrvideos im allgemeinen großartig. Man versteht Dinge oft leichter, wenn man etwas gezeigt bekommt, als wenn man sich durch Texte ackert.
    Beim Programmieren sehe ich das umgekehrt. Viele Inhalte werden durch einen kurzen Text effektiver vermittelt, als wenn man zuschaut, wie jemand Quelltext in den Editor tippt.

    Gruß

    Koter
    W7pro|Corel X4/X7(64 Bit)

Ähnliche Themen

  1. Anordnung / Abstand
    Von swizzly im Forum Corel Draw
    Antworten: 3
    Letzter Beitrag: 31.03.2014, 12:37
  2. X6 Unterstrich Text Abstand
    Von norre im Forum Corel Draw
    Antworten: 6
    Letzter Beitrag: 05.02.2014, 12:24
  3. Abstand von Absätzen angleichen
    Von OsCor im Forum Corel Draw
    Antworten: 7
    Letzter Beitrag: 19.02.2013, 10:44
  4. Wie erweiter ich den Abstand der Buchstaben
    Von Brunhilde im Forum Corel Draw
    Antworten: 6
    Letzter Beitrag: 18.07.2008, 10:44
  5. Objekt mit festem mittelpunkt rotieren
    Von antaris im Forum Corel Draw
    Antworten: 2
    Letzter Beitrag: 22.05.2008, 01:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •