[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Wie prüfe ich ob eine Gruppe noch existiert?

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

Wie prüfe ich ob eine Gruppe noch existiert?

Harald Zwer
Beiträge gesamt: 306

8. Okt 2014, 13:13
Beitrag # 1 von 9
Bewertung:
(2535 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe da ein kniffliges Problem, dass ich momentan nur unsauber gelöst bekomme.

Folgendes Problem: Ich habe mehrere Gruppen auf der Seite, auch verschachtelt. Dann führe ich in VB Script einige Manipulationen durch. Am Anfang lese ich alle Gruppen ein. Durch die folgenden Manipulationen werden Elemente gelöscht. Im extremen Fall ist auch die ganze Gruppe weg. Wenn ich mich dann auf eine Gruppe beziehe, die nicht mehr existiert, läuft das Programm in einen Fehler.

Momentane Lösung:
On Error Resume Next
intCurGroupCount=ActGroup.Groups.Count
On Error GoTo xxx

Wie kann ich abfragen, ob eine Gruppe noch existiert?

Danke im Voraus!

Harald
X

Wie prüfe ich ob eine Gruppe noch existiert?

Gerald Singelmann
  
Beiträge gesamt: 6269

8. Okt 2014, 13:39
Beitrag # 2 von 9
Beitrag ID: #532769
Bewertung:
(2521 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ohne es getestet zu haben:

Führen Sie eine Liste mit den IDs der Gruppen am Anfang. Am Ende versuchen Sie, die Gruppe anhand ihrer ID neu zu adressieren. In JavaScript wäre das app.groups.itemByID( id ). In VB wirds was ähnliches geben.

Wenn das null (oder undefined? oder eine leere Liste?) wiedergibt, ist die Gruppe weg.


als Antwort auf: [#532767]

Wie prüfe ich ob eine Gruppe noch existiert?

Harald Zwer
Beiträge gesamt: 306

8. Okt 2014, 14:00
Beitrag # 3 von 9
Beitrag ID: #532771
Bewertung:
(2493 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

super Idee über die Auflistung zu gehen!

Ich mache mir am Anfang ein Hilfsobjekt mit den Gruppen und den zugehörigen IDs. Später prüfe ich dann ob die ID in der Liste ist.

Danke für den Tipp!

Harald


als Antwort auf: [#532769]

Wie prüfe ich ob eine Gruppe noch existiert?

Dirk Becker
Beiträge gesamt: 193

8. Okt 2014, 14:38
Beitrag # 4 von 9
Beitrag ID: #532773
Bewertung:
(2473 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
In ExtendScript kann man direkt app.activeDocument.groups.itemByID(id).isValid testen, die Liste führt InDesign schon intern.

Was sagt denn die IsObject Funktion?

http://msdn.microsoft.com/de-de/library/office/gg251535(v=office.15).aspx


als Antwort auf: [#532771]

Wie prüfe ich ob eine Gruppe noch existiert?

Gerald Singelmann
  
Beiträge gesamt: 6269

8. Okt 2014, 15:21
Beitrag # 5 von 9
Beitrag ID: #532776
Bewertung:
(2451 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ist nur ne Mutmaßung, aber ich vermute, er hat den Verweis auf die Gruppe in einer Variablen.

...kurzer check...

@HZ: verwenden Sie gruppenvariable.isValid bzw. dessen VB Pendant, um zu schauen, ob es die Gruppe noch gibt. Keine Notwendigkeit, eine eigene Liste zu pflegen


als Antwort auf: [#532773]

Wie prüfe ich ob eine Gruppe noch existiert?

Harald Zwer
Beiträge gesamt: 306

8. Okt 2014, 15:47
Beitrag # 6 von 9
Beitrag ID: #532780
Bewertung:
(2429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die Hinweise.

Ja, ich verwende eine Gruppenvariable.
Aber ich habe kein "IsValid" darauf.
Ist vielleicht nur in JavaScript verfügbar?

Gruß Harald


als Antwort auf: [#532776]

Wie prüfe ich ob eine Gruppe noch existiert?

Dirk Becker
Beiträge gesamt: 193

8. Okt 2014, 16:46
Beitrag # 7 von 9
Beitrag ID: #532783
Bewertung:
(2384 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie gesagt, bitte einfach mal die VBScript Funktion IsObject() an so einer verschwundenen Gruppe testen - ich müsste erst mal nach einer Windows VM suchen ...

http://msdn.microsoft.com/de-de/library/office/gg251535(v=office.15).aspx


als Antwort auf: [#532780]

Wie prüfe ich ob eine Gruppe noch existiert?

Harald Zwer
Beiträge gesamt: 306

8. Okt 2014, 17:05
Beitrag # 8 von 9
Beitrag ID: #532787
Bewertung:
(2373 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dirk,

OK, es geht in VBScript mit IsObject(). Danke!

Noch eine Frage:
Gibt es eine Entsprechung in VB.NET?

Danke schon Mal für die Tipps!

Harald


als Antwort auf: [#532783]

Wie prüfe ich ob eine Gruppe noch existiert?

Dirk Becker
Beiträge gesamt: 193

8. Okt 2014, 18:19
Beitrag # 9 von 9
Beitrag ID: #532789
Bewertung:
(2334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das geht vielleicht mit TypeOf:

If TypeOf myGroup Is Object Then …

Ansonsten würde ich noch TypeName(myGroup) probieren.

http://msdn.microsoft.com/en-us/library/s4zz68xc.aspx


als Antwort auf: [#532787]
X