[GastForen Programme Print/Bildbearbeitung Adobe InDesign Indesign Script - User interaction

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

Indesign Script - User interaction

Stibi
Beiträge gesamt: 826

9. Mai 2006, 10:52
Beitrag # 1 von 4
Bewertung:
(1540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe ein Problem mit einem alten Indesign-Applescript, das früher wunderbar funktionierte, aber seit Umstellung auf ID CS2 an einer Stelle nicht mehr.
Es hat vermutlich was mit der "User-Interaction" zu tun.

Folgende Zeile wurde von Indesign CS2 mit Fehlermeldung quittiert:
>> set user interaction level to interact with all

nach Änderung durch diese Zeile:
>> set user interaction level of script preferences to interact with all

war die Fehlermeldung erstmal weg.

Nun aber zu dem Problem:
Das Script sucht nach allen Vorkommen eines Strings, sammelt die Fundstellen in einem Array und springt dann nacheinander alle Fundstellen an, markiert sie und fragt, ob der String geändert werden soll oder bleibt.
Früher habe ich die markierten Stellen in Indesign IMMER angezeigt bekommen, egal auf welcher Seite die Stelle war: durch die folgende Scriptzeile:
>> zoom front window given zoom in
bekam ich die Stelle im Dokumentfenster zu sehen. Später wird durch
>> zoom front window given zoom out
die alte Zoomgröße wiederhergestellt (damit ich nicht irgendwann bei 10000% lande)
Jetzt wird zwar der Zoom immer noch ausgeführt, die gewünschte Ersetzung auch, aber der markierte Text nicht immer im aktuellen Fenster dargestellt (d. h. markiert ist z. B. etwas auf Seite 3, ich sehe aber grad Seite 1).
Was ist im Indesign geändert worden, dass das nicht mehr so funktioniert, bzw. wie kann ich den Teil meines Scripts umprogrammieren?

Wer kann helfen?
X

Indesign Script - User interaction

Martin Fischer
  
Beiträge gesamt: 12714

9. Mai 2006, 11:03
Beitrag # 2 von 4
Beitrag ID: #227848
Bewertung:
(1532 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So lange ich keinen Blick auf das Ganze werfen kann, fühle ich mich etwas blind.

Ich habe Dir allerdings zwei Bausteine in JS:

1. Userinteraction mit Versionsabfrage:
Code
// Interaktion mit InDesign-Versionsabfrage  
if ((app.version +"").substr(0,1) == "4"){
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
}
else if ((app.version +"").substr(0,1) == "3") {
app.userInteractionLevel = UserInteractionLevels.interactWithAll;
}


2. selectIt()-Funktion (zum Einzoomen mit einem festen Wert; das Auszoomen müßte ergänzt werden): http://www.hilfdirselbst.ch/..._P199081.html#199081


als Antwort auf: [#227846]

Indesign Script - User interaction

Stibi
Beiträge gesamt: 826

9. Mai 2006, 11:16
Beitrag # 3 von 4
Beitrag ID: #227853
Bewertung:
(1524 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin für die schnelle Antwort. Leider kann ich erstmal damit nichts anfangen. (ich hab sie auch ehrlich gesagt nicht ganz verstanden) Das Problem ist ja nicht, dass das Script in beiden Indesign Versionen funktionieren soll (CS2 reicht völlig), sondern dass die markierte Stelle nicht direkt angezeigt wird.
Die Antwort zeigt einen Code in JS, mein Programm arbeitet aber ausschließlich in Applescript, eingebunden in ein XCode Programm. Aber da gibt´s soweit kein Problem. Der Link weist auf ein Stück Code, welches mir helfen könnte, allerdings auch in JS. Kann man das auch in Applescript lösen?

Weiterhin auf eine Lösung hoffend.

PS. Ein Blick auf das Ganze (538 Zeilen :-)) wäre wohl zu aufwendig.


als Antwort auf: [#227848]
(Dieser Beitrag wurde von Stibi am 9. Mai 2006, 11:20 geändert)

Indesign Script - User interaction

Martin Fischer
  
Beiträge gesamt: 12714

9. Mai 2006, 11:23
Beitrag # 4 von 4
Beitrag ID: #227854
Bewertung:
(1517 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry,
ich dachte, die JS-Zeilen könnten Dir auf der Suche nach einem Äquivalent in AS eine Hilfe sein.

In AS müßte ich mir auch erst was basteln und ausprobieren ...
Es gibt Leute, die können das schneller und besser.


als Antwort auf: [#227853]
X