Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Gruppenname abfragen

Gruppenname abfragen

tsone
Beiträge gesamt: 70

20. Jan 2016, 09:28
Bewertung:

gelesen: 1471

Beitrag als Lesezeichen
Hallo Leute,

wie kann ich per JS den Gruppenname der aktuellen Auswahl abfragen?
Probiert habe ich:
Code
var gruppenname = app.selection[0].groups.item(0).name; 

Scheint aber nicht zu funktionieren.

Danke und Grüße

Gruppenname abfragen

WernerPerplies
Beiträge gesamt: 2762

20. Jan 2016, 10:04
Bewertung:

gelesen: 1441

Beitrag als Lesezeichen
Guten Tag,

bist Du sicher, das app.selection[0] die Property groups hat?
Wenn ja, ob die Property überhaupt Elemente enthält?
Prüfe mal
app.selection[0].groups.length
und
app.selection[0].constructor.name

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Gruppenname abfragen

Hans Haesler
  
Beiträge gesamt: 5826

20. Jan 2016, 10:15
Bewertung:

gelesen: 1434

Beitrag als Lesezeichen
Hallo tsone,

probiere es bitte mal mit:

Code
var gruppenname = app.selection[0].name; 

Aber um sicher zu gehen, dass eine Gruppe ausgewählt ist, sollte die von Werner vorgeschlagene Prüfung betreffend 'constructor.name' vorangestellt werden.

Gruss, Hans

Gruppenname abfragen

tsone
Beiträge gesamt: 70

20. Jan 2016, 10:21
Bewertung:

gelesen: 1429

Beitrag als Lesezeichen
Hallo Hans,

ja, das funktioniert.
Besten Dank!!!

@Werner
.groups.length hat mir "0" und .constructor.name "group" zurückgeliefert.
Trotzdem danke!!!

Grüße

Gruppenname abfragen

Hans Haesler
  
Beiträge gesamt: 5826

20. Jan 2016, 10:29
Bewertung:

gelesen: 1419

Beitrag als Lesezeichen
Hallo tsone,

bitte sehr.

Aber aufgepasst: Wenn zum Beispiel eine Gruppe und ein einzelner Rahmen ausgewählt ist, dann wird auch der Name der Gruppe zurückgegeben.

Damit im weiteren Verlauf nur die Gruppe adressiert wird, sollten die Objekte der Auswahl einzeln geprüft werden.

Code
var curSel = app.selection; 
var nSel = app.selection.length;

for (var n=0; n<nSel; n++) {
var curObj = curSel[n];
if (curObj.constructor.name == "Group") {
alert (curObj.name);
}
}

Gruss, Hans

Gruppenname abfragen

WernerPerplies
Beiträge gesamt: 2762

20. Jan 2016, 11:02
Bewertung:

gelesen: 1380

Beitrag als Lesezeichen
Hallo tsone,

;-)
Das Wort trotzdem verstehe ich in diesem Zusammenhang nicht, denn die beiden Abfragen zeigen die Ursache Deines Problems auf:

Du fragst nämlich nicht den Namen Deiner selektierten Gruppe ab, sondern das erste Element der Property Groups ab, das nicht vorhanden ist.

Den jede Gruppe könnte natürlich wieder eine beliebige Anzahl von Gruppen enthalten.

Man sollte deshalb immer so vorgehen:

1. existiert das zu untersuchende Element
2. hat es den richtigen Datentyp
3. ggf. existiert die Eigenschaft im Parent
3. ist es ggf. die richtige Eigenschaft
4. ist die Eigenschaft gültig

und erst dann kann man eine Eigenschaft der Eigenschaft abfragen, dabei gilt dann wieder 1 - 4

;-)

Gruß

Werner

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Gruppenname abfragen

tsone
Beiträge gesamt: 70

20. Jan 2016, 11:59
Bewertung:

gelesen: 1329

Beitrag als Lesezeichen
Hallo Werner,

Code
app.selection[0].name; 

reicht mir in meinem Fall.

Untergruppen sind an der Stelle egal. Im Endeffekt will ich einfach nur die Gerade ausgewählte Gruppe mit dem Gruppennamen als PNG oder JPEG exportieren, was so funktioniert ;-)