[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Dialog abbrechen (escape)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Dialog abbrechen (escape)

mb_new
Beiträge gesamt: 123

18. Jul 2023, 15:56
Beitrag # 1 von 7
Bewertung:
(4513 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Ich stehe wieder einmal an.

Ich möchte einen Dialog aufrufen und sofort wieder abbrechen.
So, wie wenn man die "Escape"-Taste drücken würde, allerdings soll das in einem Skript laufen.
Hintergrund: Ein Bug in einem Plug-In verlangt den einmaligen Aufruf eines Menübefehls, ert danach läuft das Plug-In.

Hat jemand eine Idee?

Ich rufe zB "Neues Dokument auf:
Code
app.menuActions.itemByID(257).invoke(); 


Danach möchte ich den Dialog mit "Escape" gleich wieder beenden, aber eben mittels Skript, welches danach weiterlaufen soll.

Danke
Martin
X

Dialog abbrechen (escape)

Dirk Becker
Beiträge gesamt: 193

18. Jul 2023, 21:29
Beitrag # 2 von 7
Beitrag ID: #586435
Bewertung:
(4477 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vom AppleScript Editor aus funktioniert dies hier:

Code
tell application id "com.adobe.indesign" 
activate
invoke menu action id 257
end tell

tell application "System Events" to key code 53

Wie man den Code am Besten verpackt - app.doScript oder externes Script mit File("myScript.scpt").execute() habe ich nicht probiert.


als Antwort auf: [#586433]

Dialog abbrechen (escape)

mb_new
Beiträge gesamt: 123

19. Jul 2023, 10:42
Beitrag # 3 von 7
Beitrag ID: #586442
Bewertung:
(4392 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dirk,

danke für den Ansatz. Das Aufrufen funktioniert einwandfrei, doch der keycode 53 wird nicht ausgeführt.
Habe es auch mit anderen keystrokes und codes versucht, die werden auch nicht angenommen.
Auch nicht in einem normalen Applescript wie zB
Code
display dialog "XXY" 
delay 0.5
tell application "System Events"
key code 53
end tell


Übersehe ich etwas?

Danke
Martin


als Antwort auf: [#586435]

Dialog abbrechen (escape)

Dirk Becker
Beiträge gesamt: 193

20. Jul 2023, 13:10
Beitrag # 4 von 7
Beitrag ID: #586455
Bewertung:
(4285 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bei mir funktionierte das aus einem externen Prozess (dem Script Editor). Die Ausführung war also extern. Ohne Script-Editor sollte der gleiche Ablauf über ein externes AppleScript gehen - also File("path/to/myScript.scpt").execute(). Da wird zwar über Inter-Prozess AppleEvent der Menübefehl zum Öffnen des Dialogs ausgeführt, aber man befindet sich weiter ausserhalb. Dass die folgende Taste auch beim richtigen Programm ankommt, dafür sorgt das "activate" ganz am Anfang.

"Display Dialog" ist deutlich anders als der ursprünglich angesprochene Menübefehl - da wartet auch AppleScript auf die Rückantwort. In dem Fall müsste das externe Programm mit Timeouts tricksen (also quasi mit Fehler abbrechen) um dann den SystemEvent auszulösen.

Bei anderen Vorgängen (statt Menü und Dialog - es wurde ja ein Plug-In angesprochen) sind noch andere Probleme möglich. Vielleicht ist es ja gar kein Bug, und der Plug-In Programmierer wollte gerade diese Einschränkung? Ich empfehle da direkten Kontakt zum Entwickler aufzunehmen.

Das AppleScript direkt aus InDesign ausgeführt (app.doScript oder aus dem Script Panel) ist noch eine andere Baustelle - das macht es zum Unterprogramm. Sobald der Dialog (display dialog…) öffnet, blockiert die Ausführung solange, bis er wieder geschlossen wurde. Danach noch mit der Taste anzukommen bringt nichts. In dem Fall müsste die Taste also vorher ausgelöst werden, in der Hoffnung, dass InDesign sie bei Öffnen des Dialogs nicht abräumt.


als Antwort auf: [#586442]

Dialog abbrechen (escape)

mb_new
Beiträge gesamt: 123

20. Jul 2023, 14:38
Beitrag # 5 von 7
Beitrag ID: #586458
Bewertung:
(4261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dirk!

Danke für deine umfangreiche Ausführung.

Aber auch wenn ich es aus dem Skripteditor aufrufe, offnent sich nur der Menübefehl, doch der key code kommt nicht an.

Ich habe schon allerlei Möglichkeiten durch, doch es will einfach nicht. Hab es mit Indesign 2021, 2022, 2023 probiert.

Hab das Applescript auch als scpt oder app gespeichert. Leider nein.

Im Skripteditor sehe ich, dass der key code erst ausgeführt wird, wenn ich selbst Esc klicke.

Noch eine Idee?


als Antwort auf: [#586455]

Dialog abbrechen (escape)

Dirk Becker
Beiträge gesamt: 193

20. Jul 2023, 15:25
Beitrag # 6 von 7
Beitrag ID: #586460
Bewertung:
(4253 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wurde der Key code schon abgeschickt oder blockiert bereits der Menüaufruf?
(Im Script editor das log einblenden)

Wenn nicht, wie gesagt der Ansatz über einen Timeout, sodass das Script weiter rennt.
https://www.oreilly.com/...565928415/re118.html

Ist zu dem Zeitpunkt der Fokus auf dem richtigen Fenster?

Google liefert zu den Stichworten "applescript script events set focus" etwa:
https://www.macscripter.net/...dow-by-title/48824/5
https://apple.stackexchange.com/...nt-using-applescript

Wie gut sich Fenster und enthaltene Bedienelemente von InDesign direkt ansprechen lassen habe ich nicht probiert, da ich eher von der Plug-In Seite komme.
https://discussions.apple.com/thread/7806722

Vielleicht geht sonst auch ein Klick mit absoluten Koordinaten.


als Antwort auf: [#586458]

Dialog abbrechen (escape)

mb_new
Beiträge gesamt: 123

21. Jul 2023, 11:16
Beitrag # 7 von 7
Beitrag ID: #586469
Bewertung:
(4144 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dirk!

Danke für deine Inputs, made my day!

Mit timeout funktioniert es wunderbar.
Es funktioniert auch, wenn es aus InDesign aufgerufen wird.

Danke
Martin

Code
tell application id "com.adobe.indesign" 
activate
try
with timeout of 0.5 seconds
invoke menu action id 257
end timeout
end try

tell application "System Events" to key code 53
end tell



als Antwort auf: [#586460]
X

Aktuell

InDesign / Illustrator
MTT_300x300_11_2022

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!