[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:
(7750 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:
(7472 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: 2312

1. Jan 2012, 09:33
Beitrag # 3 von 16
Beitrag ID: #487180
Bewertung:
(7434 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:
(7373 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: 739

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

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

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

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

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

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

20. Feb 2019, 07:31
Beitrag # 12 von 16
Beitrag ID: #568987
Bewertung:
(2210 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:
(2184 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:
(2183 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: 12001

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

Photoshop / Lightroom
pixelfuchser

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
25.04.2019

PDF-Preflight, PDF-Editierung und Automatische Korrektur von PDF-Dateien

Impressed GmbH, Hamburg
Donnerstag, 25. Apr. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen kostenlosen Webinar stellen wir Ihnen die Neuerungen in der Version 2018 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=249

Enfocus PitStop 2018
Veranstaltungen
26.04.2019

Äh, der Kunde hat leider kein InDesign… Aber Office!

HUSS-MEDIEN GmbH
Freitag, 26. Apr. 2019, 17.00 - 20.00 Uhr

Vortrag

Willkommen zur ersten IDUGB im Jahr 2019. Und gemäß Heikes Ansatz, dass die IDUG „mehr als InDesign“ ist, schauen wir dieses Mal ein wenig über den Tellerrand. Okay, auch wenn wir gern über Office lächeln: Es muss jetzt mal sein Egal was man von Office hält, als InDesign-Anwender*in kommt man immer wieder in Kontakt zu Word, Excel und PowerPoint. Es fängt bei Texten und Tabellen an, die in InDesign verarbeitet werden wollen, bis hin zu PowerPoint-Vorlagen im Corporate Design, die Kunden bestellen. Teil 1: Was kann Office alles, was können wir eventuell nutzen? Keine Angst: Ihr müsste jetzt nicht zum Office-Crack werden. Dann dafür gibt es ja Leute, wie Stephan! Er wird euch helfen, zeigt euch im ersten Teil des Abends maßgeblich, was Office so alles kann, was aber auch nicht. Es geht um ganz klassische Frage von InDesigner*innen – gibt es Grundlinienraster, Schnittmasken oder Sonderfarben? Daneben gib es aber auch Grundlegendes, z.B. wie man überhaupt mit der Arbeit in Office loslegt, wo man wichtige Einstellungen findet und wie dieses Office überhaupt so tickt. Wenn Ihr also mal Dokumentenvorlagen für Kunden gestaltet, kennt ihr schon die Möglichkeiten und könntet schon während der Gestaltungsphase auf die Besonderheiten eingehen. Aber Keine Angst, es gibt immer noch genug für uns in InDesign zu tun!

Vollständige Informationen und Anmeldung via https://idug-berlin.de/idugb44/

Ja

Organisator: InDesign User Group Berlin

Kontaktinformation: InDesign User Group Berlin, E-Mailmail AT idug-berlin DOT de

https://idug-berlin.de

Hier Klicken