[GastForen Programmierung/Entwicklung AppleScript Textboxen in QuarkXPress per Script verschieben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Textboxen in QuarkXPress per Script verschieben

Niala
Beiträge gesamt: 3

18. Dez 2017, 11:22
Beitrag # 1 von 7
Bewertung:
(3725 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen, ich hoffe hier Hilfe zu finden!
In einem Quark-Dokument (Vers. 8.5 unter OS X 10.8.5 ) mit mehreren Seiten, das per Layoutprogramm erzeugt wurde, gibt es jede Menge Bild- und Textboxen. Ein bestimmte "Sorte" Boxen steht falsch, x-Wert +0,353 mm, y-Wert + 0,353 mm. Es sind Textboxen, die außerdem, im Gegensatz zu allen anderen vorhandenen Boxen, 44,997 mm breit sind, die anderen sind 45 mm breit. Ich hab keine Idee, wie ich jetzt per Script diese schmaleren Boxen ansprechen und um je einen Punkt (0,353 mm) nach links bzw. oben verschieben kann. Bis jetzt mühsame Handarbeit...
Hat jemand eine Idee? Bin für jede Hilf dankbar!!!!! :)
Liebe Grüße
Niala
X

Textboxen in QuarkXPress per Script verschieben

Hans Haesler
  
Beiträge gesamt: 5826

18. Dez 2017, 12:37
Beitrag # 2 von 7
Beitrag ID: #561498
Bewertung:
(3714 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Niala,

herzlich willkommen im AppleScript-Forum auf HilfDirSelbst! :-)

Versuche es bitte mal mit diesem Script:

Code
tell document 1 of application "QuarkXPress" 
activate
set nFrames to count of text boxes
repeat with n from 1 to nFrames
tell text box n
set bW to width of bounds as real
if bW is less than 45 and bW is greater than 44 then
set oB to (origin of bounds) as list
set y1 to item 1 of oB
set x1 to item 2 of oB
set y1 to coerce y1 to real
set x1 to coerce x1 to real
set origin of bounds to {y1 - 0.353, x1 - 0.353}
end if
end tell
end repeat
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
end tell

Gruss, Hans


als Antwort auf: [#561493]
(Dieser Beitrag wurde von Hans Haesler am 18. Dez 2017, 13:18 geändert)

Textboxen in QuarkXPress per Script verschieben

Niala
Beiträge gesamt: 3

18. Dez 2017, 13:06
Beitrag # 3 von 7
Beitrag ID: #561500
Bewertung:
(3709 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans, danke für die superschnelle Antwort - leider funktioniert das so nicht.
Das Script bleibt beim ersten "real" hängen mit der Meldung:

error "«data FXHM1C8F7F00» kann nicht in Typ real umgewandelt werden." number -1700 from «data FXHM1C8F7F00» to real

Oder mach ich was falsch?

Herzliche Grüße
NIala


als Antwort auf: [#561498]

Textboxen in QuarkXPress per Script verschieben

Hans Haesler
  
Beiträge gesamt: 5826

18. Dez 2017, 13:18
Beitrag # 4 von 7
Beitrag ID: #561501
Bewertung:
(3708 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Niala,

bitte sehr.

Das muss an der OS-Version liegen. Ich habe QXP 8.5 nur unter Schneeleopard zur Verfügung.

Aber gleich muss ich weg. Doch ich werde es gegen Abend unter einem anderen OSX versuchen. Mit QXP 10 (oder so).

Gruss, Hans


als Antwort auf: [#561500]

Textboxen in QuarkXPress per Script verschieben

Hans Haesler
  
Beiträge gesamt: 5826

18. Dez 2017, 17:07
Beitrag # 5 von 7
Beitrag ID: #561513
Bewertung:
(3685 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Niala,

das Problem konnte ich mit QXP 9.5 unter MacOS 10.8.5 nachvollziehen.

Die Lösung ist:
– Der Variablen wB in einem ersten Schritt die Breite der Boxen nur als Textkette zuweisen. Also z.B. "44,997 mm".
– Und erst danach mit coerce den Wert in eine Zahl mit Nachkommastellen (= as real) verwandeln.

Code
tell document 1 of application "QuarkXPress" 
activate
set nFrames to count of text boxes
repeat with n from 1 to nFrames
tell text box n
set wB to width of bounds
set wB to coerce wB to real
if wB is less than 45 and wB is greater than 44 then
set oB to (origin of bounds) as list
set y1 to item 1 of oB
set x1 to item 2 of oB
set y1 to coerce y1 to real
set x1 to coerce x1 to real
set origin of bounds to {y1 - 0.353, x1 - 0.353}
end if
end tell
end repeat
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 1
end tell

So sollte es funktionieren. Gutes Gelingen!

Gruss, Hans


als Antwort auf: [#561500]

Textboxen in QuarkXPress per Script verschieben

Niala
Beiträge gesamt: 3

19. Dez 2017, 08:09
Beitrag # 6 von 7
Beitrag ID: #561523
Bewertung:
(3630 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Waaaahnsinn!!!!

Guten Morgen Hans,
dein Script macht genau das, was es soll!
Bin total begeistert und bedanke mich sehr!

Ganz liebe Grüße und schon jetzt ein frohes Weihnachtsfest,
Niala


als Antwort auf: [#561513]

Textboxen in QuarkXPress per Script verschieben

Hans Haesler
  
Beiträge gesamt: 5826

19. Dez 2017, 09:03
Beitrag # 7 von 7
Beitrag ID: #561526
Bewertung:
(3616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Niala,

bitte sehr. Super, dass es klappt.

Eine kurze Erklärung, was das Script macht:
– eine Schleife durch die Textboxen des Dokuments;
– bei jeder wird die Breite der Box geholt;
– der Wert wird in zwei Schritten in eine Zahl umgewandelt;
– ein Test prüft, ob die Zahl kleiner als 45 und grösser als 44 ist;
– trifft dies zu, wird der Variablen oB der Ursprung der Abmessungen als Liste zugewiesen;
– die Liste enthält die Werte X und Y der Ecke oben links;
– die beiden Werte werden in Zahlen umgewandelt;
– dem Ursprung werden die Werte y1 und x1 (minus je 0.353) zugewiesen;
– und die Textbox wird wie gewünscht verschoben.

Auch Dir eine angenehme Zeit.

Gruss, Hans


als Antwort auf: [#561523]
X