Connect failed: Connection timed out

[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:
(13754 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:
(13476 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: 2760

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

vielleicht hilft Dir dieser Beitrag:
Absatzformate nach Namen sortieren, aber per Skript


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:
(13377 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: 748

28. Mai 2012, 20:49
Beitrag # 5 von 16
Beitrag ID: #495690
Bewertung:
(12930 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 ...


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: 5826

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

29. Mai 2012, 22:35
Beitrag # 7 von 16
Beitrag ID: #495755
Bewertung:
(12850 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 :)


als Antwort auf: [#495748]

Absatzformate nach Namen sortieren, aber per Skript

Hans Haesler
  
Beiträge gesamt: 5826

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

9. Feb 2019, 11:27
Beitrag # 9 von 16
Beitrag ID: #568868
Bewertung:
(8846 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.');
}



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: 5826

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

19. Feb 2019, 17:35
Beitrag # 11 von 16
Beitrag ID: #568985
Bewertung:
(8254 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: 12779

20. Feb 2019, 07:31
Beitrag # 12 von 16
Beitrag ID: #568987
Bewertung:
(8214 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 );
}
}



als Antwort auf: [#568985]

Absatzformate nach Namen sortieren, aber per Skript

Beobachter
Beiträge gesamt: 136

20. Feb 2019, 08:58
Beitrag # 13 von 16
Beitrag ID: #568988
Bewertung:
(8188 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: 136

20. Feb 2019, 09:00
Beitrag # 14 von 16
Beitrag ID: #568989
Bewertung:
(8187 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: 12779

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


als Antwort auf: [#568988]

Absatzformate nach Namen sortieren, aber per Skript

Beobachter
Beiträge gesamt: 136

20. Feb 2019, 14:41
Beitrag # 16 von 16
Beitrag ID: #568994
Bewertung:
(2156 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Habe nun den Ordner mit meinen Skripten in meinen User-Ordner verschoben – leider aber ohne Erfolg, das Skripte-Panel zeigt mir die einzelnen Skripte noch immer NICHT-alphabetisch an.
Schade und Danke, Martin.
Gruess, Michel


als Antwort auf: [#568993]
X