gibt es eine Möglichkeit gezielt nach einzelnen Textvariablen in einem Dokument zu suchen? Ich verwende Textvariablen mit benutzerdefiniertem Text in langen Dokumenten und würde gerne gezielt auf die Verwendungsstellen von bestimmten Variablen springen. Mir ist bekannt, dass ich über den Suchen/Ersetzen-Dialog Textvariablen mit benutzerdefiniertem Text suchen kann. Das ist aber recht mühsam, da immer alle Textvariablen angesprungen werden. Ich verwende InDesign CS4 auf Windows 7 (64bit).
m.W. ist es mit Bordmitteln nicht möglich, auf die Verwendung einer bestimmten Textvariablen zuzugreifen.
Aber per Skript ist dies möglich.
Hier eine Skizze, quick & dirty.
Im Moment wandert das Skript nach einem Stop von einer Verwendungsstelle zur nächsten vorwärts.
Es wäre mit einem Dialog zur Auswahl der definierten Textvariablen in einer DropDown-Liste und der Anzeige der Treffer (click & jump) in einer Palette ausbaubar.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 17. Feb 2012, 14:58 geändert)
vielen Dank für Deine schnelle Hilfe. Ich habe das Skript ausprobiert und es funktioniert tadellos. Die Erweiterungen, die Du noch erwähnt hast hören sich toll an. Leider kenne ich mich mit der Skript-Programmierung nicht aus und kann diese Erweiterungen nicht durchführen. Aber ich bin auch schon über diese Lösung glücklich. Nochmals dankeschön.
Es war (auch) als Marker für mich gedacht. ;-) Den Zugriff auf die Stellen, wo eine Variable verwendet wird, halte ich für sinnvoll und zweckmäßig. Das ist auch für mich interessant. Und wenn ich mal wieder eine halbe Stunde Zeit finde, dann möchte ich dies noch in der angegebenen Richtung ausbauen.
Wenn was draus werden sollte, kommt's ins Skriptarchiv.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 17. Feb 2012, 16:12 geändert)
Inzwischen steht (für Premium-Member) eine erweiterte Version dieses Skripts im Skriptarchiv bereit: showTextvariableInstances.jsx
Nach Start des Skripts wird eine Textvariable aus einer DropDown-Liste ausgewählt. Dann werden die entsprechenden Fundstellen mit Angaben zu Seite und Inhalt der Textvariable aufgelistet.
Durch Klick auf eine Fundstelle in der Liste wird die Fundstelle im Text ausgewählt und herangezoomt.
Das Bildschirmfoto zeigt die Palette nach Auswahl der Textvariable mein Text und nach Klick auf den letzten Eintrag mit der Seitenangabe 94 und dem Inhalt der Variable Hallo Welt!.
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 25. Feb 2012, 23:31 geändert)
Habe gerade einen kleinen Test mit Deinem Script gemacht.
Da das Script keine automatischen Updates der Fundstellenarrays macht und es sich beim UI um eine Palette handelt, die eine Veränderung der Dateiinhalte während ihrer Benutzung zulässt, wäre es vielleicht gut einen "Update"-Button einzubauen, der die Arrays neu lädt.
Die Arrays werden zwar auf den neuesten Stand gebracht, wenn man die Kategorie der Arrays wechselt, aber der Benutzer kommt nicht unbedingt gleich auf die Idee durch das Hin- und Herwechseln zwischen unterschiedlichen Kategorien ein Update vorzunehmen.
Noch 'ne Idee, dann gebe ich schon Ruhe:
Falls kein Eintrag innerhalb einer Kategorie gefunden wird (Array.length == 0), einfach den Namen der Kategorie weglassen.
Oder vielleicht besser: Die Anzahl der Fundstellen hinter den Kategorienamen vermerken. Z.B.:
An die Sache mit dem Weglassen von Textvariablen, die nirgends Verwendung finden, habe ich kurz vor der Veröffentlichung auch noch gedacht. Das arbeite ich nach.
Auch der Vorschlag mit dem Update-Button ist gut. Hatte mich selbst schon dran gewöhnt, einfach die Textvariable zu wechseln. Aber so ein Updatebutton hat einen wichtigen Aufforderungscharakter.
Bei der Entwicklung bin ich an einer kleinen Sache ziemlich hängen geblieben. Und zwar an der Übergabe der selection in der DropDown-Liste in CS5. CS4 war da toleranter und hat eine fehlerhafte Übergabe großzügig durchgehen lassen. Da war ich dann froh, dass mit der Verwendung des index der selection die Sache auch in CS5 einen Frieden gefunden hatte. Und da wollte ich das Skript erst mal los sein und ins Kino gehen.
Und jetzt freue ich mich richtig, von Dir diese beiden wichtigen Anregungen erhalten zu haben.
Wenn Du genau das machst, nämlich die Namen der Textvariablen weglässt, wenn keine Fundstellen vorhanden sind, dann brauchst Du unbedingt den "Update"-Button auch noch.
Nämlich für den Fall, dass nur keine einzige oder nur eine einzige Kategorie angezeigt wird und der Benutzer neue Textvariableninstanzen anlegt, während er die Palette geöffnet hält. Zum Update-Ergebnis würde er dann nur durch den Neustart des Scripts kommen… ***** Mit herzlichem Gruß, Uwe Laubender
eine Möglichkeit zum Update wäre auch das onActivate event. und während das Fenster aktiv ist, könnte sich wohl nur etwas durch Hintergrundaktivitäten ändern.
Aber eine manuelle Updatemöglichkeit ist sicherlich immer nützlich.
vielen Dank nochmals für das erweiterte Skript. Ich setze es bereits ein und finde es funktioniert klasse. Nun kann ich meine Textvariablen nachverfolgen und das gibt mir die nötige Kontrolle über meine Textvariablen im Dokument.