[GastForen Programme Print/Bildbearbeitung Adobe InDesign Eventskrips für CS3

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

Eventskrips für CS3

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2007, 15:09
Beitrag # 16 von 27
Beitrag ID: #299601
Bewertung:
(12398 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Adobe empfiehlt dringend, sich die sprachneutrale Bezeichnung des Menübefehls zu holen.
> Wie das genau geht, habe ich aber noch nicht verstanden.

Ich habe mir die Bezeichnung darüber geholt:
Code
var myMenuActionNames = app.menuActions.everyItem().name; 
//Open a new text file.
var myTextFile = File.saveDialog("Save Menu Action Names As", undefined);
//If the user clicked the Cancel button, the result is null.
if(myTextFile != null){
//Open the file with write access.
myTextFile.open("w");
for(var myCounter = 0; myCounter < myMenuActionNames.length; myCounter++){
myTextFile.writeln(myMenuActionNames[myCounter]);
}
myTextFile.close();
}



> Vergiss nicht, erst den Cursor in die Story zu setzen, deren type TOC ist. ;))

Gerade wollte ich meinen Beitrag oben editieren und auf eben diesen Sachverhalt hinweisen: erst TOC-story auswählen.


als Antwort auf: [#299597]
X

Eventskrips für CS3

kkauer
Beiträge gesamt: 661

28. Jun 2007, 20:17
Beitrag # 17 von 27
Beitrag ID: #299684
Bewertung:
(12370 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

Herr Singelmann meinte wohl eher so etwas:
Code
app.menuActions.item("$ID/Update Table of Content").invoke(); 



als Antwort auf: [#299601]
(Dieser Beitrag wurde von kkauer am 28. Jun 2007, 20:20 geändert)

Eventskrips für CS3

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2007, 20:49
Beitrag # 18 von 27
Beitrag ID: #299687
Bewertung:
(12360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Karsten,

ich bin überzeugt, daß H. Singelmann genau das meinte.

Aber wo sind diese Bezeichner nachzuschlagen?
Der Objektbrowser verrät dazu nichts - oder doch?

Wo hast Du die Bezeichnung her?
Aus einer englischsprachigen ID-Version?


als Antwort auf: [#299684]

Eventskrips für CS3

kkauer
Beiträge gesamt: 661

28. Jun 2007, 20:55
Beitrag # 19 von 27
Beitrag ID: #299688
Bewertung:
(12357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hilf mir bitte auf die Sprünge
Zitat Der Objektbrowser verrät dazu nichts - oder doch?

Was ist der Objektbrowser?

Zitat Wo hast Du die Bezeichnung her?
Aus einer englischsprachigen ID-Version?

Nein, per Skript ausgelesen.

Karsten


als Antwort auf: [#299687]

Eventskrips für CS3

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2007, 21:17
Beitrag # 20 von 27
Beitrag ID: #299690
Bewertung:
(12342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Was ist der Objektbrowser?

Na ja, das "Objektmodell für Adobe InDesing CS3" im Hilfemenü von ExtendScript Toolkit 2.
Es erinnert mich an den Objektbrowser von Teus de Jong. Deswegen diese meine Bezeichnung.

> Nein, per Skript ausgelesen.

Nun, das hatte ich oben auch versucht.
Du mußt das bessere Skript haben. ;-)
Dürfen andere auch mal oder willst Du es alleine für Dich haben?


als Antwort auf: [#299688]

Eventskrips für CS3

kkauer
Beiträge gesamt: 661

28. Jun 2007, 21:33
Beitrag # 21 von 27
Beitrag ID: #299694
Bewertung:
(12331 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Nun, das hatte ich oben auch versucht.
Du mußt das bessere Skript haben. ;-)
Dürfen andere auch mal oder willst Du es alleine für Dich haben?


Wie belieben? Du nutzt die Adobe-Referenz und genau das tue ich auch.

Klöppel in deinem Skript einfach die Zeile
Code
myTextFile.writeln(app.findKeyStrings(myMenuActionNames[myCounter])); 

dazu und fertig.

Die Benamsung in meinem vorherigen Post kam übrigens aus der AS-Variante (JS gibt "$ID/UpdateTableOfContentsCmd" zurück).

Karsten


als Antwort auf: [#299690]

Eventskrips für CS3

Martin Fischer
  
Beiträge gesamt: 12783

28. Jun 2007, 22:09
Beitrag # 22 von 27
Beitrag ID: #299699
Bewertung:
(12302 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok.
Danke für den "findKeyStrings".

Hast Du auch so viele Leerzeilen?


als Antwort auf: [#299694]

Eventskrips für CS3

kkauer
Beiträge gesamt: 661

28. Jun 2007, 22:16
Beitrag # 23 von 27
Beitrag ID: #299703
Bewertung:
(12299 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
Hast Du auch so viele Leerzeilen? 


Wenn es nur die Leerzeilen wären. Ich habe nicht den Eindruck, dass das Fundament (sprachneutrale Bezeichnung des Menübefehls) solide ist, aber Herr Singelmann hat gesagt, dass Adobe gesagt hat …
Und so soll es dann sein …

Karsten


als Antwort auf: [#299699]
(Dieser Beitrag wurde von kkauer am 28. Jun 2007, 22:21 geändert)

Eventskrips für CS3

Gerald Singelmann
  
Beiträge gesamt: 6269

28. Jun 2007, 23:09
Beitrag # 24 von 27
Beitrag ID: #299712
Bewertung:
(12282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat aber Herr Singelmann hat gesagt

Holy smoke! Bitte meißelt meine Worte nicht in Marmor. Wenn überhaupt meißeln, dann in Vanillepudding, da kriegt man sie wenigstens wieder raus.

Ich habe nur den Scripting Guide zitiert (zu laden unter http://www.adobe.com/...scripting/index.html in der Mitte auf "Scripting resources" klicken), weil ich es plausibel finde, auch diesen Part unser Scripte sprachneutral zu halten.

Dort steht
Zitat in InDesign scripting, menuItems, menus, menuActions,and submenus are all referred to by name. Because of this, scripts need a method of locating these objects that is independent of the installed locale of the application. To do this, you can use an internal database of strings that refer to a specific item, regardless of locale

und
Zitat Note:It is much better to get the locale-independent name of a menuAction than of a menu, menuItem, or submenu, because the title of a menuAction is more likely to be a single string. Many of the other menu objects return multiple strings when you use the getKeyStrings method.


Das Beispielscript im Guide zum finden des neutralen Strings ist
Code
var myString = ""; 
var myMenuAction = app.menuActions.item("Convert to Note");
var myKeyStrings = app.findKeyStrings(myMenuAction.name);
if(myKeyStrings.constructor.name == "Array"){
for(var myCounter = 0; myCounter < myKeyStrings.length; myCounter ++){
myString += myKeyStrings[myCounter] + "\r";
}
}
else{
myString = myKeyStrings;
}
alert(myString);


Um daraus die momentan aktuelle Sprache zu machen
Code
var myString = app.translateKeyString("$ID/NotesMenu.ConvertToNote"); 


So, jetzt ist alles wieder schön relativiert und eingeebnet :)

Danke


als Antwort auf: [#299703]

Eventskrips für CS3

Dude
Beiträge gesamt: 63

5. Jul 2007, 12:05
Beitrag # 25 von 27
Beitrag ID: #301030
Bewertung:
(12219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Sehr interessante Geschichte! Mir stellt sich allerdings die Frage ob ein EventListener auch für den CS3 Server möglich ist?

Mit freundlichen Grüßen
Daniel


als Antwort auf: [#299597]
(Dieser Beitrag wurde von Dude am 5. Jul 2007, 12:10 geändert)

Eventskrips für CS3

Martin Fischer
  
Beiträge gesamt: 12783

5. Jul 2007, 12:08
Beitrag # 26 von 27
Beitrag ID: #301035
Bewertung:
(12216 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Daniel,

> Und hat jemand schon die sprachneutrale Bezeichnung der Menübefehle gefunden?

Siehe die Beiträge von Karsten Auer (kkauer).


als Antwort auf: [#301030]

Eventskrips für CS3

Dude
Beiträge gesamt: 63

5. Jul 2007, 12:11
Beitrag # 27 von 27
Beitrag ID: #301037
Bewertung:
(12215 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke!
Hab ich gerade erst gelesen und etwas voreilig aufgeschriehen...


als Antwort auf: [#301035]
X