[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Absatzformate nach Namen sortieren, aber per Skript

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

Absatzformate nach Namen sortieren, aber per Skript

kireiksw
Beiträge gesamt:

14. Aug 2011, 12:34
Beitrag # 1 von 16
Bewertung:
(8478 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

man kann ja in ID die Zeichenformate, die Absatzformate, usw. mittels des Dropdown-Menüs nach Namen sortieren. Nun möchte ich das abver gern per Skript für alle Dateien meines Buches (75) und für alle Formatarten durchführen. Ich habe die entsprechende Methode im Objektmodell leider nicht gefunden und auch keine andere gute Lösung. Der Versuch, den Index an die sortierte Reihenfolge des Namens anzupassen, schlug leider fehl, weil der Index readonly ist.

Weiß jemand, ob es diesen Befehl aus dem Menü auch direkt zugreifbar im Objektmodell gibt?

Danke
X

Absatzformate nach Namen sortieren, aber per Skript

kireiksw
Beiträge gesamt:

31. Dez 2011, 19:43
Beitrag # 2 von 16
Beitrag ID: #487178
Bewertung:
(8200 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und ein gutes neue Jahr,

ich möchte dieses Thema noch einmal aufleben lassen. Kann mir jemand verraten, wo ich die Methode finde, mit der ich ParagraphStyles nach Namne sortieren kann?


als Antwort auf: [#478155]

Absatzformate nach Namen sortieren, aber per Skript

WernerPerplies
Beiträge gesamt: 2337

1. Jan 2012, 09:33
Beitrag # 3 von 16
Beitrag ID: #487180
Bewertung:
(8162 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen


als Antwort auf: [#487178]

Absatzformate nach Namen sortieren, aber per Skript

kireiksw
Beiträge gesamt:

2. Jan 2012, 16:35
Beitrag # 4 von 16
Beitrag ID: #487228
Bewertung:
(8101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

vielen Dank für den Link.


als Antwort auf: [#487180]

Absatzformate nach Namen sortieren, aber per Skript

-hans-
Beiträge gesamt: 745

28. Mai 2012, 20:49
Beitrag # 5 von 16
Beitrag ID: #495690
Bewertung:
(7654 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vier Monate später ;-),

über die Menüs kann die Funktion "Nach Name sortieren" angesprochen werden.

Code
//aktives Dokument ... 
app.activeDocument.menus.item('Absatzformatbedienfeldmenü').menuItems.item('Nach Name sortieren').associatedMenuAction.invoke();


getestet mit CS 5.5

Kann man an ein onOpen-Event koppeln, dann wird bei jedem Öffnen sortiert ...
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#487228]
(Dieser Beitrag wurde von -hans- am 28. Mai 2012, 20:50 geändert)

Absatzformate nach Namen sortieren, aber per Skript

Hans Haesler
  
Beiträge gesamt: 5730

29. Mai 2012, 20:50
Beitrag # 6 von 16
Beitrag ID: #495748
Bewertung:
(7593 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

Dein Befehl funktioniert hier nicht (Mac OS X, InDesign CS5.5).
Die Fehlermeldung sagt (u.a.): "Objekt unterstützt Eigenschaft oder Methode menus nicht."

Aber so klappt es:

Code
app.menuActions.itemByID(8505).invoke(); 

Die ID 8505 habe ich mit einem JavaScript von Kasyan Servetsky bekommen. Der Link zum Script: http://kasyan.ho.com.ua/open_menu_item.html

Das Ergebnis des Scripts ist eine Tabelle. Für CS5.5 erstreckt sie sich über 89 (!) A4-Seiten ...

Gruss, Hans


als Antwort auf: [#495690]

Absatzformate nach Namen sortieren, aber per Skript

-hans-
Beiträge gesamt: 745

29. Mai 2012, 22:35
Beitrag # 7 von 16
Beitrag ID: #495755
Bewertung:
(7574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

da habe ich völlig verblöded einfach von der 'app' auf das 'document' geschlossen. Property 'Menus' gibt es aber tatsächlich (oder logisch ;-) ) nur bei der application.

Code
app.menus.item('Absatzformatbedienfeldmenü').menuItems.item('Nach Name sortieren').associatedMenuAction.invoke(); 


Klappt das Ansprechen über die 'id' auch für andere Sprachversionen von ID¿

Danke für den link :)
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#495748]

Absatzformate nach Namen sortieren, aber per Skript

Hans Haesler
  
Beiträge gesamt: 5730

29. Mai 2012, 23:09
Beitrag # 8 von 16
Beitrag ID: #495758
Bewertung:
(7561 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans-Gerd,

ja, jetzt funktioniert die Zeile.

Antwort auf: Klappt das Ansprechen über die 'id' auch für andere Sprachversionen von ID¿

Na klar. Das ist der grosse Vorteil von itemByID(): Es ist sprachunabhängig.

Zudem scheint es mir stabiler zu sein. Ein amerikanischer Kunde von mir wollte in einem Script nebst anderen Aktionen auch die Farbfeld-Bedienfeld-Option "Unbenannte Farben hinzufügen" ausführen lassen.

Und zwar in CS3, CS4, CS5 und CS5.5. Das geht nur mit invoke(). Und klappte vorzüglich mit ...

Code
app.menuActions.item("$ID/Add All Unnamed Colors").invoke(); 

... und mit meinen deutschen InDesign-Versionen. Ausser mit CS4: Absturz. :-(

Bei meinen Nachforschungen stiess ich auf die ID-Lösung. Positiv: CS4 stürzte nicht mehr ab. In der Folge rüstete ich in die anderen Scripts ebenfalls auf itemByID() um.

Gruss, Hans


als Antwort auf: [#495755]

Absatzformate nach Namen sortieren, aber per Skript

Martin Fischer
  
Beiträge gesamt: 12062

9. Feb 2019, 11:27
Beitrag # 9 von 16
Beitrag ID: #568868
Bewertung:
(3570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Soeben in den alten Thread gestolpert, seien hier der Vollständigkeit halber die sprachunabhängigen Versionen der Befehle zum Sortieren von Absatz- und Zeichenformaten in den Bedienfeldern ergänzt.

Code
//Formate im Absatzformatbedienfeld sortieren. 
app.menus.item('$ID/ParaStylePanelPopup').menuItems.item('$ID/SortByName').associatedMenuAction.invoke();

//Formate im Zeichenformatbedienfeld sortieren.
app.menus.item('$ID/CharStylePanelPopup').menuItems.item('$ID/SortByName').associatedMenuAction.invoke();


Ein kleines Hilfsmittel zum Finden der sprachunabhängigen Bezeichnungen:

Code
get_ind_keystr(); 

function get_ind_keystr()
{
var find_str = prompt('findString','Absatzformatbedienfeldmenü');
var found_str = app.findKeyStrings(find_str);

if (found_str.length > 0)
{
var w = new Window ("dialog", "keyStrings: " + find_str);
var myText = w.add ("edittext", [0, 0, 400, 200], "", {multiline: true});
myText.text = found_str.join('\r');
myText.active = true;
w.show ();
}
else
alert ('Nix gefunden.');
}


Viele Grüße
Martin




als Antwort auf: [#495758]
(Dieser Beitrag wurde von Martin Fischer am 9. Feb 2019, 11:49 geändert)

Absatzformate nach Namen sortieren, aber per Skript

Hans Haesler
  
Beiträge gesamt: 5730

9. Feb 2019, 20:05
Beitrag # 10 von 16
Beitrag ID: #568871
Bewertung:
(3515 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

danke für die Ergänzung und das Hilfsmittel. Habe ich soeben kopiert und in meinen Ordner "Tipps_und_Tricks" abgespeichert.

Gruss, Hans


als Antwort auf: [#568868]

Absatzformate nach Namen sortieren, aber per Skript

Beobachter
Beiträge gesamt: 110

19. Feb 2019, 17:35
Beitrag # 11 von 16
Beitrag ID: #568985
Bewertung:
(2978 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guete Abig mitenand
Kann mir ein Crack von euch das Skript erweitern, dass sich auch die Objektformate und das Skripte-Panel sortieren lässt.
Das wäre super und würde mir enorm helfen.
Herzlichen Dank und Gruess, Michel


als Antwort auf: [#568868]

Absatzformate nach Namen sortieren, aber per Skript

Martin Fischer
  
Beiträge gesamt: 12062

20. Feb 2019, 07:31
Beitrag # 12 von 16
Beitrag ID: #568987
Bewertung:
(2938 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guada Morga Michel,

zur Sortierung der Objektformate im Panel:
Code
//Formate im Objektformatbedienfeld sortieren.  
app.menus.item('$ID/ObjectStylesPanelPopup').menuItems.item('$ID/SortByName').associatedMenuAction.invoke();


Die Anfrage zur Sortierung des Skripte-Panels macht mir die Stirn runzeln: Zum einen gibt es diesen Menübefehl nicht und zum anderen ist er auch gar nicht nötig, weil vom Panel selbst stets sortiert (nach internen, von außen nicht veränderbaren Kriterien) gelistet.

Ist das bei Dir – etwa seit Mojave – anders?
Mojave erwähne ich deswegen, weil mir nach dem Umstieg aufgefallen ist, dass im (neuen) Dateisystem ermittelte Dateien nicht mehr wie bislang alphabetisch sortiert, sondern dem ersten Anschein nach kunterbunt durcheinander geliefert werden.
So etwa auch in dem Skript-Menu von Gerald.

Hier hilft die Ergänzung einer Sortierfunktion:

Code
#targetengine "session" 

// Objekt Menu
myMenu = {};
myMenu.create = function( aTitle ) {
try {
var aMenu = app.menus.item("$ID/Main").submenus.item( aTitle );
aMenu.title;
}
catch ( e ) {
var aMenu = app.menus.item("$ID/Main").submenus.add( aTitle );
}
return aMenu;
}


var myPath = Folder( '/Users/dtp/Library/Preferences/Adobe InDesign/Version 14.0/de_DE/Scripts/Scripts Panel/Skriptmenu'); // Pfad des Skriptordners
var myFiles = myPath.getFiles('*.jsx'); // Dateien des Skriptordners
myFiles.sort(namesort);
var aTopic = myMenu.create( 'Skripte' );
for ( i = 0; i < myFiles.length; i++ )
var aSubTopic = makeSubMenu ( aTopic, myFiles[i] );

function namesort(a,b)
{
return a.name > b.name;
}

function makeSubMenu( aMenu, aFile )
{
var myAction = app.scriptMenuActions.add( aFile.name.replace(/%20/gi, ' ' ) );
var myListener = myAction.eventListeners.add( "onInvoke", aFile );
var aboutMenuItem = aMenu.menuItems.item( aFile.name.replace(/%20/gi, ' ' ) );
if ( aboutMenuItem == null )
{
var aboutMenuItem = aMenu.menuItems.add( myAction );
}
}


Viele Grüße
Martin




als Antwort auf: [#568985]

Absatzformate nach Namen sortieren, aber per Skript

Beobachter
Beiträge gesamt: 110

20. Feb 2019, 08:58
Beitrag # 13 von 16
Beitrag ID: #568988
Bewertung:
(2912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Herzlichen Dank, Martin,
Die Erweiterung für das sortieren der Objektformate funktioniert einwandfrei.

Ich arbeite mit High Sierra 10.13.3 und ID CS6 Version 8.1 und irgendwann verhaute es mir die Sortierung im Skripte-Panel und ich weiss nicht wieso. Vielleicht funzte mir die IT im im Büro dazwischen ;-).
Leider geht auch dein Code für die Sortierung im Skripte-Panel nicht, auch wenn ich die Version 14.0 auf Version 8.0 ändere.
Michel


als Antwort auf: [#568987]

Absatzformate nach Namen sortieren, aber per Skript

Beobachter
Beiträge gesamt: 110

20. Feb 2019, 09:00
Beitrag # 14 von 16
Beitrag ID: #568989
Bewertung:
(2911 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
…und hier noch ein Anhang, wie mein Skripte-Panel im Moment aussieht:
Michel


als Antwort auf: [#568987]
Anhang:
Bildschirmfoto 2019-02-20 um 08.51.30.jpg (133 KB)

Absatzformate nach Namen sortieren, aber per Skript

Martin Fischer
  
Beiträge gesamt: 12062

20. Feb 2019, 12:00
Beitrag # 15 von 16
Beitrag ID: #568993
Bewertung:
(2878 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Michel,

Antwort auf: Leider geht auch dein Code für die Sortierung im Skripte-Panel nicht, auch wenn ich die Version 14.0 auf Version 8.0 ändere.


Das war auch nicht Ziel des Codes.
Der Code sollte lediglich als Beispiel dazu dienen, wie man der "Unsortierung" von Daten aus dem Dateisystem beikommen könnte.

Wo liegen Deine Skripte?
Im Application-Skripteordner oder im User-Skripteordner?
Wenn im Application-Skripteordner, dann könntest Du vielleicht mal versuchen, die Daten von dort in den User-Skripteordner zu kopieren.

Ansonsten stehe ich im Moment ratlos da (weil als Problem in meiner Umgebung – CS6, CC2018, CC2019 – nicht nachvollziehbar).

Viele Grüße
Martin




als Antwort auf: [#568988]
X
Hier Klicken

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
20.06.2019 - 21.06.2019

Tag 1: Freistellen, Tag 2: Composing

München
Donnerstag, 20. Juni 2019, 09.30 Uhr - Freitag, 21. Juni 2019, 17.30 Uhr

Schulung, Seminar

Digitalfotos gekonnt aufbereiten, Produktfotos effizient freistellen, hochwertige Composings erstellen – für jede Anforderung bietet Photoshop ein Fülle von Werkzeugen und Techniken. Unserer zweitägige Schulung zeigt Ihnen ein Fülle von Arbeitstechniken, Tipps und Tricks. Eine Top-Schulung, die in den vergangenen Jahren fast immer ausgebucht war!

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/weiterbildung-zum-photoshop-composing-experten/

Weiterbildung zum Photoshop-Composing-Experten
Veranstaltungen
24.06.2019 - 25.06.2019

Frankfurt/M
Montag, 24. Juni 2019, 09.30 Uhr - Dienstag, 25. Juni 2019, 17.30 Uhr

Schulung, Seminar

Unsere Schulung „Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner“ bietet allen Anwendern, die in Agenturen oder freiberuflich als Reinzeichner bzw. in der Reinzeichnung arbeiten, topaktuelles Grafik- und PrePress-Fachwissen rund um das Thema „Druckdatenerstellung mit InDesign, Photoshop, Acrobat“.

Ja

Organisator: Cleverprinting.de

https://www.cleverprinting.de/zweitaegige-weiterbildung-zum-cleverprinting-reinzeichner/

Hier Klicken