InDesign: per Script mehrere Menübefehle ausführen

7zeichen

7zeichen

Aktives Mitglied
Thread Starter
Dabei seit
24.03.2011
Beiträge
566
Reaktionspunkte
197
Ihr Lieben,

ich brauche mal bitte eure Hilfe :) Für einen Job muss ich in vielen einzelnen INDD Dokumenten jedes Mal die fünf gleichen Menübefehle ausführen. Diese endlos vielen Klicks würde ich gern automatisieren.

Nun habe ich mir ein paar Seiten über Skripte durchgelesen, aber verstehe komplett nur Bahnhof. Bei den vielen Klammern, Semikolons usw. blicke ich einfach null durch.

Über die Seite
https://www.cuppascript.com/menueeintraege-sprachunabhaengig-per-script-aufrufen/
habe ich zumindest herausgefunden, wie die sprachunabhängigen Menüpunkte heißen. Nur wie baue ich das jetzt zu einem Script ein?


Hier sind die für mich relevanten Menübefehle. Könnt ihr damit etwas anfangen?

MenuItem
Title
locale_independent

Main > Bearbeiten > Rechtschreibprüfung > Dynamische Rechtschreibprüfung
Dyna&mische Rechtschreibprüfung
$ID/Dynamic SpellCheck,

Main > Schrift > Verborgene Zeichen einblenden
Verborgene Zeic&hen einblenden
$ID/Show Hidden Characters,

Main > Ansicht > Extras > Rahmenkanten einblenden
Rahm&enkanten einblenden
$ID/Show Frame &Edges,

Main > Ansicht > vjoon K4 > K4 Tool Tips für Rahmen ausblenden
K4 Tool Tips für Rahmen ausblenden
$ID/0xC8300miView_FrameToolTips_Hide,

Main > Ansicht > vjoon K4 > K4 Haftnotizen ausblenden
K4 Haftnotizen ausblenden
$ID/0x144D00miView_Notes_Hide,
 
Leider haben sie Software dafür auslaufen lassen ... ExtendScript Toolkit. Auf Windows kann man sich die Sache noch installieren.

Auf macOS arbeite ich hier mittlerweile mit VS Code und entsprechenden Plugins - das funktioniert wunderbar. Was ich aber echt abgängig finde aus dem ESTK ist der ObjectModelViewer, da konnte man einfach schön nachschauen wer wo was kann.

1625138459199.png


Da gibts mittlerweile eine Website dafür, aber auch die ist nicht der Burner.

Beherrscht du Programmierung? Oder brauchst du generell jemanden, der dir das umsetzt?
 
Über die Seite
https://www.cuppascript.com/menueeintraege-sprachunabhaengig-per-script-aufrufen/
habe ich zumindest herausgefunden, wie die sprachunabhängigen Menüpunkte heißen. Nur wie baue ich das jetzt zu einem Script ein?
Das steht da übrigens auch auf der Seite mit dem invoke.

Beherrscht du Programmierung? Oder brauchst du generell jemanden, der dir das umsetzt?
So wie ich das verstehe soll es jemand hier kostenlos umsetzen. ;)
 
  • Gefällt mir
Reaktionen: Flauschi
Deswegen die Frage ... irgendwie muss er ja auch die unique Identifiers rausbekommen haben.
Also vielleicht kennt er ja ein paar Grundkniffe - aber scheitert einfach am Aufruf mit .invoke().

Das Skript sollte sich ja auf ein paar Zeilen beschränken. Wenn ich irgendwie dazukomme kann ichs mir am Abend ja mal kurz anschauen.
 
Das steht da übrigens auch auf der Seite mit dem invoke.

Meinst du die Zeile

app.menus.item("$ID/Main").menuElements.item("$ID/&File").menuItems.item("$ID/&Close").associatedMenuAction.invoke();

Und wo sollte ich da jetzt den Menüpunkt einsetzen?


So wie ich das verstehe soll es jemand hier kostenlos umsetzen. ;)

Ich bin irgendwann vor 30 Jahren bei HTML ausgestiegen. Also habe keinen blassen Schimmer von sowas. Ich dachte bis gerade eben noch, es wäre einfach machbar. Aber wenn ich jetzt noch Software dafür brauche, dann bin ich wohl raus.
 
app.menus.item("$ID/Main").menuElements.item("$ID/&File").menuItems.item("$ID/&Close").associatedMenuAction.invoke();

Und wo sollte ich da jetzt den Menüpunkt einsetzen?
Ich hab die IDs mal rot markiert - da gehören halt genau die hin, die du rausgefunden hast. Du brauchst halt die IDs aller beteiligten Einträge.
Also in dem Fall das Hauptmenü oben, Punkt "Datei" und da der Unterpunkt "Schließen".
Aber wenn ich jetzt noch Software dafür brauche, dann bin ich wohl raus.
Wenn du das Skript schreiben willst, reicht dir ein Texteditor.
Wenn du es gleich onTheFly testen willst, dann brauchst du VS Code + Plugins.
 
Deswegen die Frage ... irgendwie muss er ja auch die unique Identifiers rausbekommen haben.
Also vielleicht kennt er ja ein paar Grundkniffe - aber scheitert einfach am Aufruf mit .invoke().
Das javascript dazu ist in dem verlinkten Artikel
Meinst du die Zeile

app.menus.item("$ID/Main").menuElements.item("$ID/&File").menuItems.item("$ID/&Close").associatedMenuAction.invoke();

Und wo sollte ich da jetzt den Menüpunkt einsetzen?
Ja, die meine ich.
So schwierig ist das nicht.
Du hast da alles stehen, musst nur der Menüstruktur folgen.
 
Die ersten drei Punkte habe ich ... die letzten beiden sind aber ein Plugin oder sowas, oder? Da fehlen mir jetzt natürlich die IDs von Submenu.
 
Deswegen die Frage ... irgendwie muss er ja auch die unique Identifiers rausbekommen haben.
Das Script dazu habe ich mir von der Seite geladen und einfach aufgeführt. Dann alles aus der TXT rausgelöscht was ich nicht brauche.

Also vielleicht kennt er ja ein paar Grundkniffe - aber scheitert einfach am Aufruf mit .invoke().

Das Skript sollte sich ja auf ein paar Zeilen beschränken. Wenn ich irgendwie dazukomme kann ichs mir am Abend ja mal kurz anschauen.
Also brauche ich drei Teile des Menüpunkts, einer alleine reicht nicht? Sorry dass ich da echt nicht durchblicke.

Ja, die letzten Beiden beziehen sich auf ein Plugin in InDesign, das unter den angegebenen Menüpunkten liegt.
 
Wenn du mir die fehlenden IDs lieferst, kann ichs fertig machen ...
Und nachdem du das Script hast laufen lassen, hast du die IDs bereits gehabt.

Edit: hab nen anderen Weg gefunden, moment ...
 
Sekunde ...
 
Interessantes Verhalten ...

Wenn ich mein Script via VS Code abfeuere, funktioniert alles problemlos.
Wenn ich es in InDesign starte, findet es Elemente im Menü nicht - es gibt teilweise 2 ID's, ich hatte immer genau die falsche genommen.

Und: InDesign führt das Skript pro Eintrag aus. Keine Ahnung warum.
1. Ausführen = dynamische Rechtschreibprüfung wird aktiviert
2. Ausführen = Verborgene Zeichen werden eingeblendet
3. ...

Muss dann nochmal schauen.
 
Bei den Plugins weiß ich halt absolut nicht, wie die angestoßen werden wollen. Musst du bitte einfach mal testen.
Schmeiß das entpackte File einfach unter /Users/<DeinUser>/Library/Preferences/Adobe InDesign/Version 16.0/de_DE/Scripts/Scripts Panel/
 
Und jetzt? Hört man nix mehr von dir?
 
Und jetzt? Hört man nix mehr von dir?
Hey du, oh man sorry, ich habe nicht gesehen, dass du mir geantwortet hast.

Vielen Dank für deine Mühe. Ich wollte es gerade ausprobieren. Bei deinem Link bekomme ich gerade nur eine Fehlermeldung angezeigt?
 
Naja ... ich dachte mir, da kommt nix mehr - also entweder 1) wirst es dir schon gezogen haben oder 2) es eh nicht mehr brauchen :noplan:

Script ist wieder da.
 
Naja ... ich dachte mir, da kommt nix mehr - also entweder 1) wirst es dir schon gezogen haben oder 2) es eh nicht mehr brauchen :noplan:

Script ist wieder da.
Cool danke, ich schaue es mir gleich an.

Ach quatsch, ich war nur einfach auf anderen Baustellen unterwegs :)
 
Mega toll, die ersten drei funktionieren. Danke :)

Die beiden K4-Menübefehle leider nicht. Da bekomme ich ein Popup ohne Meldung, das ich nur mit OK wieder schließen kann.

Wie könnte man denn diese Menübefehle finden?
 
Ach quatsch, ich war nur einfach auf anderen Baustellen unterwegs
Ja, unter anderem ständig hier im Forum. Man kann das sehen ob, wann und wo du warst ;) Daher auch meine Annahme dass es sich erledigt hat.

Wie könnte man denn diese Menübefehle finden?
In dem File, welches du dir erzeugen hast lassen. Wenn du es nicht findest, kannst du mir ansonsten auch das komplette Textfile zukommen lassen, dann kann ich mir die Menüpunkte selbst rausziehen.
 
Zurück
Oben Unten