[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:
(8739 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
Hier Klicken 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:
(8461 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: 2346

1. Jan 2012, 09:33
Beitrag # 3 von 16
Beitrag ID: #487180
Bewertung:
(8423 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:
(8362 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:
(7915 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: 5735

29. Mai 2012, 20:50
Beitrag # 6 von 16
Beitrag ID: #495748
Bewertung:
(7854 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:
(7835 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: 5735

29. Mai 2012, 23:09
Beitrag # 8 von 16
Beitrag ID: #495758
Bewertung:
(7822 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: 12080

9. Feb 2019, 11:27
Beitrag # 9 von 16
Beitrag ID: #568868
Bewertung:
(3831 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: 5735

9. Feb 2019, 20:05
Beitrag # 10 von 16
Beitrag ID: #568871
Bewertung:
(3776 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:
(3239 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: 12080

20. Feb 2019, 07:31
Beitrag # 12 von 16
Beitrag ID: #568987
Bewertung:
(3199 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:
(3173 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:
(3172 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: 12080

20. Feb 2019, 12:00
Beitrag # 15 von 16
Beitrag ID: #568993
Bewertung:
(3139 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

Aktuell

InDesign / Illustrator
paradigma_300

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
18.07.2019

München
Donnerstag, 18. Juli 2019, 12.44 Uhr

Infotag

Bereits zum 2. Mal kommen auch in diesem Jahr Experten zum Infotag in München zusammen, um sich zu Themen rund um das richtige Planen und Erstellen von barrierefreien PDF-Inhalten und Webseiten auszutauschen. Hierbei spielt die Berücksichtigung gesetzlicher Anforderungen eine ebenso große Rolle, wie das Erstellen selbst. U.a. wird axaio software, zusammen mit seinem Partner Klaas Posselt von einmanncombo, vor Ort sein, um sein Wissen zum Generieren barrierefreier PDFs aus Adobe InDesign mit den Teilnehmern zu teilen. Schauen Sie in die Agenda, um mehr über weitere Referenten und Themen zu erfahren!

18.07.2019, 10 Uhr – 16:30 Uhr (Einlass ab 09:30 Uhr)
Preis: 199,00 €/brutto (inkl. Verpflegung)

Ja

Organisator: cmt Training

Kontaktinformation: E-Mailinfo AT cmt DOT de

https://www.cmt.de/Barrierefreiheit/Barrierefreiheit-Digital/2-Infotag-Barrierefreie-Webseiten-und-PDF-Dokumente-3946.html

2. Infotag: Barrierefreie Webseiten & PDF Dokumente
Veranstaltungen
17.08.2019 - 07.03.2020

3400 Burgdorf, BE
Samstag, 17. Aug. 2019, 08.30 Uhr - Samstag, 07. März 2020, 08.30 Uhr

Lehrgang

Absolventen/innen der Qualifikation Publisher Professional – Profil «Gestaltung» verfügen über Kompetenzen, welche ihnen gestatten, Projekte und Aufgaben der gestalterischen Umsetzung der Medienproduktion mit dem Einsatz der üblichen Publishing-Programme selbständig in Betrieben oder Organisationen zu übernehmen.

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Publisher Professional-Profil Gestaltung