Macro, Text im Objektmanager anordnen
#1
Hallo ,
jetzt hätte ich mal eine Frage an unseren Univ-Prof Dr. mak. Koter (auf Wunsch des Mod. korrekte Anrede)

Meinst du, dass man dies mit einem Macro lösen könnte?
Die verschiedenen Textrahmen und Grafiktexte stehen im Objektmanager von der Reihenfolge her durcheinander, diese sollten aber laut ihrer Reihenfolge auf der Seite dort angeordnet sein.


Angehängte Dateien Thumbnail(s)
   
Zitieren
#2
Norre, nur wegen der "political correctness", bitte Univ-Prof Dr. mak. Koter .

Smile das Kraut

Betriebssystem / Grafik-Software: Win 7
Zitieren
#3
norre schrieb:...diese sollten aber laut ihrer Reihenfolge auf der Seite dort angeordnet sein.

Hallo norre,

Ich habe nicht genau verstanden, was Du mit „Reihenfolge“ meinst.

Das Modul im Anhang enthält die SUBs TextOrdBlattrandOben und TextOrdAlpha

TextOrdBlattrandOben ordnet die Texte nach der Position auf dem Blatt.

TextOrdAlpha ordnet die Texte (nach ihren Namen) alphabetisch. Dabei bleiben unbenannte Texte natürlich unberücksichtigt.

Die beiden anderen SUBs werden von den o.g. zum sortieren benötigt.

Falls ich Dich falsch verstanden habe, melde Dich noch einmal.

Gruß

Koter


Angehängte Dateien
.zip   TxTZordnen.zip (Größe: 1,21 KB / Downloads: 8)
Zitieren
#4
Hallo Koter,
oh entschuldige Univ-Prof Dr.Dr. mak. Koter
du bist der Wahnsinn
Das Sub TextOrdBlattrandOben ist genau dass was ich gemeint habe und es funktioniert Super[Bild: e050.gif]

Habe hier alte Kataloge da habe ich nicht auf die Reihenfolge im Objektmanager geachtet, wenn ich allerdings die Texte nach Word exportieren will, müssen die Textrahmen und Grafiktexte, damit es auch in Word stimmt in der richtigen Reihenfolge im Objektmanager stehen.
Dein Macro hat mir eine Menge händischer Arbeit gespart.

Du hast nicht zufällig ne Wunschliste bei Amazon, damit ich dir mal was Gutes tun kann?
Zitieren
#5
Hallo Norre,

nein, eine Wunschliste bei Amazon habe ich nicht. Dafür habe ich jetzt drei akademische Grade!

Wenn aber die Leute von GuttenPlag & Co mitbekommen, dass ich den QuickSort-Algorithmus von dieser Seite gemopst habe, und das auch noch ohne Quellenangabe, dann bin ich wohl wieder ohne Titel.

Wenn Du im Quellcode den folgenden Kommentar hinzufügst, lässt mir meine Doktormutter Unkraut vielleicht wenigstens einen Titel (ein Dr. reicht, Professor muss nicht sein).
Code:
'Der folgende QuickSort-Algorithmus stammt von Dieter Otter (www.vbarchiv.net)


Gruß

Koter
Zitieren
#6
koter schrieb:Wenn Du im Quellcode den folgenden Kommentar hinzufügst, lässt mir meine Doktormutter Unkraut vielleicht wenigstens einen Titel (ein Dr. reicht, Professor muss nicht sein).

Siehste Norre, so entstehen Gerüchte.... :tease:

Koter, Dein doppelter Doktorvater ist allein Norre.

Die Berufsbezeichnung Professor, also ein Gelehrter und Wissenschaftler, von dem Wiki behauptet, es sei kein akademischer Grad, (Dr. → Dr. habil → (Privdoz.) → Berufung als Prof.) hatte mir besser gefallen.

Nehmen Sie es einfach hin, Herr Prof. Dr. mak Koter, denn bis wir Sie mit mit "Eure Spektabilität" anreden, dauert es noch etwas. Smile

Betriebssystem / Grafik-Software: Win 7
Zitieren
#7
Hallo Koter,
darf ich dir noch mal lästig fallen?
Das Macro funktioniert ja super.
So jetzt will ich aber dass da genau umgekehrt ist, also was ganz oben auf der Seite steht soll im Objektmanager unten stehen.
Ich habe schon rumprobiert aber bekomme es nicht hin.
Wie müßte ich das SUB TextOrdBlattrandOben ändern, dass die Anordnung im Om umgekehrt ist?
Zitieren
#8
Hallo Norre,

das fällt nicht lästig.
Tausche die SUB gegen die Folgende aus:

Code:
Sub TextOrdBlattrandOben()
    Dim TextPosStID()
    Dim s As Shape
    i = 0
        For Each s In ActivePage.Shapes
        If s.Type = cdrTextShape Then
                i = i + 1
        End If
    Next
    ReDim TextPosStID(0 To i - 1, 0 To 1)
    i = 0
    TextPosStID(0, 0) = "0.258"
    For Each s In ActivePage.Shapes
        If s.Type = cdrTextShape Then
            TextPosStID(i, 0) = s.PositionY
            TextPosStID(i, 1) = s.StaticID
            i = i + 1
        End If
    Next
    Call QuickSortMultiDim(TextPosStID)
    Debug.Print UBound(TextPosStID)
    ActiveDocument.BeginCommandGroup "Text von Blattpos. Z-Anordnen"
    For i = UBound(TextPosStID) To 0 Step -1
        Set s = ActivePage.FindShape(StaticID:=TextPosStID(i, 1))
        s.OrderToFront
    Next i
    ActiveDocument.EndCommandGroup
End Sub

Erläuterung:
Die letzte For-Schleife läuft jetzt rückwärts.


Gruß

Koter
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Blütenblätter im Kreis anordnen corely 3 186 20.06.2019, 17:15
Letzter Beitrag: OsCor
  Objekte und Text als Pfade / Vektorgrafik speichern corely 13 382 18.06.2019, 18:11
Letzter Beitrag: corely
  Powercliprahmen aktivieren im Objektmanager Heinzi 7 256 31.03.2019, 01:39
Letzter Beitrag: norre
  Text für den Plotter vorbereiten. Es ist wie verhext.. drboss 7 409 17.05.2018, 15:28
Letzter Beitrag: Hartmut
  Bemaßung: Abstand Querstrich vom Objekt, Text mittig klj 8 708 02.08.2017, 20:10
Letzter Beitrag: koter
  Text Standardfarbe lässt sich nicht ändern... druckstick 3 390 02.08.2017, 16:25
Letzter Beitrag: norre
  Text - Effekte mit CD? Reserl 11 780 09.06.2017, 10:33
Letzter Beitrag: Suc
  CorelDraw 12: Kontur/ Rand um einen Text oder Bild...wie mach ich das? Tronny 6 1.838 03.06.2017, 13:01
Letzter Beitrag: norre
  Text Versatz beim Exportiern Corinna_R 4 485 10.05.2017, 11:45
Letzter Beitrag: norre
  Text mit Bild füllen? charlier69 5 1.547 07.05.2017, 20:40
Letzter Beitrag: Triorottis