[GastForen Programmierung/Entwicklung AppleScript QXP9: Legenden mit menu items skripten

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

QXP9: Legenden mit menu items skripten

Goar
Beiträge gesamt: 371

6. Mär 2014, 10:37
Beitrag # 1 von 2
Bewertung:
(1210 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Skripter,

im Beitrag »Erste Erfahrung mit Legenden/-ankern«
http://www.hilfdirselbst.ch/...i?post=501452#501452
habe ich erwähnt, dass es zu den Legenden (callouts) keinen Eintrag in der AS-Bibliothek gibt.

Nun hat uns Jacob Rus unter
http://hints.macworld.com/...ry=20060921045743404
die Hintertür gezeigt: Mit apple events werden die Einträge im Menü aufgerufen, als würde man sie manuell mit der Maus ausführen.

Im Rumpfskript ist das zu verankernde Objekt eine Gruppe, die einen Namen hat, über den sie angesprochen wird.

Code
tell application "QuarkXPress" to activate 

menu_click({"QuarkXPress", "Objekt", "Legendenanker", "Legendenanker einfügen"})

tell document 1 of application "QuarkXPress"
set selection to null -- Textbox deaktivieren
set selected of group box "Gruppenname" to true -- zu verankerndes Objekt aktivieren
end tell

menu_click({"QuarkXPress", "Objekt", "Legendenanker", "Mit Legendenanker verknüpfen"})
menu_click({"QuarkXPress", "Objekt", "Legendenanker", "Legendenstile", "Inhalt Titel"})

on menu_click(mList)
local appName, topMenu, r

-- Validate our input
if mList's length < 3 then error "Menu list is not long enough"

-- Set these variables for clarity and brevity later on
set {appName, topMenu} to (items 1 through 2 of mList)
set r to (items 3 through (mList's length) of mList)

-- This overly-long line calls the menu_recurse function with
-- two arguments: r, and a reference to the top-level menu
tell application "System Events" to my menu_click_recurse(r, ((process appName)'s ¬
(menu bar 1)'s (menu bar item topMenu)'s (menu topMenu)))
end menu_click

on menu_click_recurse(mList, parentObject)
local f, r

-- `f` = first item, `r` = rest of items
set f to item 1 of mList
if mList's length > 1 then set r to (items 2 through (mList's length) of mList)

-- either actually click the menu item, or recurse again
tell application "System Events"
if mList's length is 1 then
click parentObject's menu item f
else
my menu_click_recurse(r, (parentObject's (menu item f)'s (menu f)))
end if
end tell
end menu_click_recurse


Die minimalistischen Handler habe ich unverändert aus dem Original "menu_click", by Jacob Rus, September 2006 übernommen.

Die Ausführung ist gemächlich, aber deutlich schneller, als hätte ich selbst Hand angelegt.
An dieser Lösung freut mich besonders, dass sie universell angewendet werden kann.

Grüße,
Goar
---
> iMac 27" 3,2 GHz Intel Core i5, 8 GB, MacOS 10.11.6, QXP 2018, ID CS6 <
> iMac 27" 3,1 GHz Intel 6 Core i5, 16 GB, MacOS 10.15.5, QXP 2019/2020 <
X

QXP9: Legenden mit menu items skripten

Hans Haesler
  
Beiträge gesamt: 5797

6. Mär 2014, 18:37
Beitrag # 2 von 2
Beitrag ID: #524565
Bewertung:
(1167 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

besten Dank für das Veröffentlichen Deiner Lösung.

Ich werde sie ausprobieren, sobald ich aus dem Urlaub zurück sein werde.

Gruss, Hans


als Antwort auf: [#524528]

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
25.01.2021 - 26.01.2021

Digicomp Academy AG, Bern oder Zürich
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/PHOTM1

Veranstaltungen
25.01.2021 - 26.01.2021

Digicomp Academy AG, Zürich oder virtuell
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

Im Kurs lernen Sie die Schritte vom Import des Rohmaterials bis zum fertig exportierten Clip kennen. Dazu zählen die Materialverwaltung, das Trimmen für Roh- und Feinschnitt, Blenden, Titel und Effekte und eine Übersicht über die wichtigsten Formate.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AP6

Neuste Foreneinträge


PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Inhalt Textrahmen verbinden

iPhone Farbprofil

Exel ohne leeres Tabellenblatt starten

Text- oder Grafikrahmen nach Position und Größe suchen und ändern

Illustrator Skript Übersatztext - Hilfe benötigt

[GREP] beliebige Zeichen finden und durch selbe Anzahl an Leerzeichen oder Anzahl Zeichen "x" ersetzen

InDesign 2021 – Suchen/Ersetzen: Farbe

Langsamer MacMini

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken
medienjobs