[GastForen Programme Print/Bildbearbeitung Adobe InDesign Textvariablen suchen in CS4

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

Textvariablen suchen in CS4

Thorsten Schwarz
Beiträge gesamt: 14

17. Feb 2012, 13:51
Beitrag # 1 von 10
Bewertung:
(9846 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

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).
X

Textvariablen suchen in CS4

Martin Fischer
  
Beiträge gesamt: 12783

17. Feb 2012, 14:36
Beitrag # 2 von 10
Beitrag ID: #490205
Bewertung:
(9830 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thorsten,

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.
Code
// VerwendungEinerTextvariableErmitteln.jsx 

var var_name = prompt('Name der Textvariable', 'Test');
var t_var = app.documents.firstItem().textVariables.itemByName(var_name);

if (t_var.isValid)
{
if (t_var.associatedInstances.length == 0)
alert('Achtung!\nDie Textvariable mit den Namen »' + var_name + '« wird im aktiven Dokument nicht verwendet.');
else
{
for (var i = 0; i < t_var.associatedInstances.length; i++)
{
show_it(t_var.associatedInstances[i], i+1, t_var.associatedInstances.length, var_name);
}
}
}
else
alert('Achtung!\nKeine Textvariable mit den Namen »' + var_name + '« vorhanden.');

function show_it( theObj, i, n, var_name )
{
app.select(theObj.storyOffset,SelectionOptions.replaceWith, var_name);
app.activeWindow.zoomPercentage = 800;
var msg = 'Variable ' + var_name + '\n(' + theObj.resultText + ')\n\n' + 'Instanz von ' + i + '/' + n + '\n\nWeiter?';
var _choice = confirm ( msg );
if (_choice == false)
exit();
return app.selection[0];
}

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.


als Antwort auf: [#490201]
(Dieser Beitrag wurde von Martin Fischer am 17. Feb 2012, 14:58 geändert)

Textvariablen suchen in CS4

Thorsten Schwarz
Beiträge gesamt: 14

17. Feb 2012, 15:51
Beitrag # 3 von 10
Beitrag ID: #490216
Bewertung:
(9796 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

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.

Thorsten Schwarz


als Antwort auf: [#490205]

Textvariablen suchen in CS4

Martin Fischer
  
Beiträge gesamt: 12783

17. Feb 2012, 16:11
Beitrag # 4 von 10
Beitrag ID: #490220
Bewertung:
(9782 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thorsten,

Antwort auf: Ich habe das Skript ausprobiert und es funktioniert tadellos.

Prima!
Danke für die Rückmeldung.


Antwort auf: 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.

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.


als Antwort auf: [#490216]
(Dieser Beitrag wurde von Martin Fischer am 17. Feb 2012, 16:12 geändert)

Textvariablen suchen in CS4

Martin Fischer
  
Beiträge gesamt: 12783

25. Feb 2012, 19:48
Beitrag # 5 von 10
Beitrag ID: #490749
Bewertung:
(9635 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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!.


als Antwort auf: [#490220]
(Dieser Beitrag wurde von Martin Fischer am 25. Feb 2012, 23:31 geändert)

Textvariablen suchen in CS4

Uwe Laubender
Beiträge gesamt: 5316

25. Feb 2012, 22:34
Beitrag # 6 von 10
Beitrag ID: #490750
Bewertung:
(9613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] Durch Klick auf eine Fundstelle in der Liste wird die Fundstelle im Text ausgewählt und herangezoomt.


Hallo, Martin!

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.:

Ausgabedatum [0]
Bildname [37]
Dateiname [12]
Erstellungsdatum [0]
Kapitelnummer [0]
Lebender Kolumnentitel [0]
Letzte Seitenzahl [0]



Das ist dann wohl eine Aufgabe für die 0.2-Version des Skripts.
Ich teste dann mal weiter…


als Antwort auf: [#490749]

Textvariablen suchen in CS4

Martin Fischer
  
Beiträge gesamt: 12783

25. Feb 2012, 23:31
Beitrag # 7 von 10
Beitrag ID: #490751
Bewertung:
(9599 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ich danke Dir für Deine Erweiterungsvorschläge.

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.


als Antwort auf: [#490750]

Textvariablen suchen in CS4

Uwe Laubender
Beiträge gesamt: 5316

26. Feb 2012, 10:31
Beitrag # 8 von 10
Beitrag ID: #490757
Bewertung:
(9558 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Martin Fischer ] 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.


Hallo, Martin!

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…


als Antwort auf: [#490751]

Textvariablen suchen in CS4

WernerPerplies
Beiträge gesamt: 2762

26. Feb 2012, 14:56
Beitrag # 9 von 10
Beitrag ID: #490766
Bewertung:
(9525 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#490757]

Textvariablen suchen in CS4

Thorsten Schwarz
Beiträge gesamt: 14

29. Feb 2012, 09:57
Beitrag # 10 von 10
Beitrag ID: #490929
Bewertung:
(9421 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

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.

Viele Grüße

Thorsten


als Antwort auf: [#490749]
X