[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

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

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Marco Morgenthaler
Beiträge gesamt: 2474

13. Mai 2008, 12:49
Beitrag # 1 von 13
Bewertung:
(281309 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Bekanntlich gibt es in Indesign CS3 die Möglichkeit, benutzerdefinierte Abfragen im Suchen/Ersetzen-Fenster unter eigenem Namen abzuspeichern. Eine komplizierte GREP-Abfrage, allenfalls ergänzt mit Formatsuche usw., kann so später einfach wieder hervorgeholt werden.

Schon lange wünschte ich mir ein Skript, dass mehrere dieser gespeicherten Abfragen automatisch ausführt. Heute hat mich Peter Kahrel netterweise darauf hingewiesen, dass im Adobe-Skript-Forum folgendes einfache Skript existiert:


Code
app.loadFindChangeQuery ('query_a', SearchModes.grepSearch); 
app.activeDocument.changeGrep();

app.loadFindChangeQuery ('query_b', SearchModes.grepSearch);
app.activeDocument.changeGrep();


Im obigen Skript müssen query_a bzw. query_b durch entsprechende Suchabfragen ersetzt werden. Diese befinden sich als xml-Dateien in Ordnern «Find-Change Queries» (separate Ordner für vordefinierte und selbst definierte). Im Skript die Namen ohne xml-Endung einfügen (z. B. 'Strich in Halbgeviertstrich').

Das Skript habe ich bei mir als jsx gespeichert, ein Testlauf war erfolgreich.

Vielen Dank an Peter für den Hinweis und natürlich an den Entwickler des Skripts (ich habe allerdings keinen Link auf das Adobe-Skript-Forum).

Weiterhin einen schönen Tag und Gruss
Marco
X

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Gerald Singelmann
  
Beiträge gesamt: 6269

13. Mai 2008, 13:28
Beitrag # 2 von 13
Beitrag ID: #350033
Bewertung:
(281224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
http://www.adobeforums.com/...n/webx?13@@.3bbf275d

"FindChangeByList" ist natürlich nicht ganz das Gleiche, aber wenigstens bekannt, oder?


als Antwort auf: [#350022]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Marco Morgenthaler
Beiträge gesamt: 2474

13. Mai 2008, 13:32
Beitrag # 3 von 13
Beitrag ID: #350035
Bewertung:
(281222 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kleiner Nachtrag: Inzwischen habe ich den Beitrag im Adobe-Skript-Forum gefunden. Der Thread ist unter http://www.adobeforums.com/webx/.59b51c39

Das obige Skript, das offenbar von Peter selbst geschrieben wurde, bezieht sich auf mehrere GREP-Abfragen. Daneben könnten auch Text-, Glyphen- oder Objektabfragen kombiniert werden (Skript entsprechend umschreiben).

Gruss Marco


als Antwort auf: [#350022]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

dima4ka
Beiträge gesamt: 51

19. Jun 2009, 13:31
Beitrag # 4 von 13
Beitrag ID: #399702
Bewertung:
(279408 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Marco Morgenthaler ] Kleiner Nachtrag: Inzwischen habe ich den Beitrag im Adobe-Skript-Forum gefunden. Der Thread ist unter http://www.adobeforums.com/webx/.59b51c39

Das obige Skript, das offenbar von Peter selbst geschrieben wurde, bezieht sich auf mehrere GREP-Abfragen. Daneben könnten auch Text-, Glyphen- oder Objektabfragen kombiniert werden (Skript entsprechend umschreiben).

Gruss Marco

wie könnte ein beispiel ausschauen wenn z.b. nach dem GREP suche
.{10}\s*$
und das gefundene in zeichenformat Z1 ändern möchte.
(nur markierten text)


als Antwort auf: [#350035]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Marco Morgenthaler
Beiträge gesamt: 2474

19. Jun 2009, 14:27
Beitrag # 5 von 13
Beitrag ID: #399708
Bewertung:
(279386 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dima

Nichts für ungut, aber ich klink mich jetzt aus.
Siehe auch http://www.hilfdirselbst.ch/..._P375231.html#375231

Am einfachsten wirst du in der Indesign-Hilfe fündig.


als Antwort auf: [#399702]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

dima4ka
Beiträge gesamt: 51

19. Jun 2009, 14:27
Beitrag # 6 von 13
Beitrag ID: #399711
Bewertung:
(279382 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Marco Morgenthaler ] Hallo Dima

Nichts für ungut, aber ich klink mich jetzt aus.
Siehe auch http://www.hilfdirselbst.ch/..._P375231.html#375231

Am einfachsten wirst du in der Indesign-Hilfe fündig.


danke, bin halt ein anfänger. sorry


als Antwort auf: [#399708]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Stephan_M
Beiträge gesamt: 480

19. Jun 2009, 14:31
Beitrag # 7 von 13
Beitrag ID: #399712
Bewertung:
(279379 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Grandios! Habe schon so oft gedacht das ich es jetzt brauchen könnt', hab's aber nie verfolgt. Vielen Dank fürs mitteilen, Herr Morgenthaler.

@Dima4k.
Das obige Skriptchen löst lediglich Suchen/Ersetzen-Abfragen aus, die sie sich vorher schon im Suchen/Ersetzen-Dialog (durch klicken auf das Disketten-Symbol) als eigene Suche/Ersetzen-Abfragen gespeichert haben.

Ich habe mir da zum Beispiel "1 Unterschneiden", "Klammern spationieren", oder "Versalwörter finden" gespeichert. Diese drei Abläufe könnte ich mit dfem Skript nun in einem Rutsch ausführen.


als Antwort auf: [#399702]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

dima4ka
Beiträge gesamt: 51

19. Jun 2009, 14:50
Beitrag # 8 von 13
Beitrag ID: #399715
Bewertung:
(279367 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Stephan_M ] Grandios! Habe schon so oft gedacht das ich es jetzt brauchen könnt', hab's aber nie verfolgt. Vielen Dank fürs mitteilen, Herr Morgenthaler.

@Dima4k.
Das obige Skriptchen löst lediglich Suchen/Ersetzen-Abfragen aus, die sie sich vorher schon im Suchen/Ersetzen-Dialog (durch klicken auf das Disketten-Symbol) als eigene Suche/Ersetzen-Abfragen gespeichert haben.

Ich habe mir da zum Beispiel "1 Unterschneiden", "Klammern spationieren", oder "Versalwörter finden" gespeichert. Diese drei Abläufe könnte ich mit dfem Skript nun in einem Rutsch ausführen.

ja das klappt bei mir soweit so gut. jedoch wenn ich das gefundene in ein Zeichenformat ersetzen möchte löscht er das gefundene einfach.
komisch.
hier dier code:
Code
//Suchfelder zurücksetzen  
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
//Suchen
app.findGrepPreferences.findWhat = "».+?« +\(.+?\)";
//Ersetzen
applyCharacterStyle= "ZF"
app.activeDocument.changeGrep ();
//Clear the find/change preferences after the search.
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;



als Antwort auf: [#399712]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Stefan Oe
Beiträge gesamt: 42

2. Aug 2010, 17:39
Beitrag # 9 von 13
Beitrag ID: #447976
Bewertung:
(277087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe den unten angegebenen Script so geladen wie beschrieben – in InDesign CS4 – und bekomme die Fehlermeldung:
»JavaSript Fehler, Fehlernr. 33800 Fehlerzeichenfolge: Abfragedatei nicht gefunden.«

Die Suchen&Ersetzen-XML-Dateien liegen im Ordner Find-Change Queries > Text – also dort, wo sie von InDesign automatisch abgelegt werden.
Frage: Müssen die Dateien woanders liegen oder muss im Script der Ort angegeben werden? Falls ja, wie?

Code
app.loadFindChangeQuery ('query_a', SearchModes.grepSearch); 
app.activeDocument.changeGrep();

app.loadFindChangeQuery ('query_b', SearchModes.grepSearch);
app.activeDocument.changeGrep();


Im obigen Skript müssen query_a bzw. query_b durch entsprechende Suchabfragen ersetzt werden. Diese befinden sich als xml-Dateien in Ordnern «Find-Change Queries» (separate Ordner für vordefinierte und selbst definierte). Im Skript die Namen ohne xml-Endung einfügen (z. B. 'Strich in Halbgeviertstrich').


als Antwort auf: [#350022]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Ralf Hobirk
Beiträge gesamt: 5961

2. Aug 2010, 17:59
Beitrag # 10 von 13
Beitrag ID: #447978
Bewertung:
(277082 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
Antwort auf: liegen im Ordner Find-Change Queries > Text

Dann handelt es sich nicht um eine GREP-, sondern um eine Text-Abfrage und der entsprechende Script-Code muss lauten:

Code
app.loadFindChangeQuery ('query_a', SearchModes.textSearch);  
app.activeDocument.changeText();



als Antwort auf: [#447976]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Stefan Oe
Beiträge gesamt: 42

5. Aug 2010, 15:11
Beitrag # 11 von 13
Beitrag ID: #448278
Bewertung:
(276998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank! Jetzt klappt's prima.


als Antwort auf: [#447978]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Prepressure
Beiträge gesamt: 8

20. Okt 2013, 22:17
Beitrag # 12 von 13
Beitrag ID: #518660
Bewertung:
(270661 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super Skript! Problematisch sehe ich, dass das Skript immer global auf jeden Text im Dokument angewandt wird.

Gibt es eine Möglichkeit, dass das Skript nur auf ausgewählten Text angewandt wird?

Vielen Dank!!!


als Antwort auf: [#350022]

Skript, um mehrere Suchen/Ersetzen-Abfragen zu kombinieren

Uwe Laubender
Beiträge gesamt: 5317

21. Okt 2013, 08:55
Beitrag # 13 von 13
Beitrag ID: #518665
Bewertung:
(270617 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Prepressure – ja, gibt es.

Anstatt:

Code
app.activeDocument.changeGrep(); 


oder bei einer Textsuche/Textersetzung:

Code
app.activeDocument.changeText(); 


das das aktive Dokument anspricht, könnte man z.B. auch eine Auswahl ansprechen:

Code
app.selection[0].changeGrep(); 


Respektive für die Textsuche/Textersetzung:

Code
app.selection[0].changeText(); 


Manchmal ist es besser die Ersetzung in umgekehrter Reihenfolge der Suchergebnisse zu machen. Beide Methoden haben dazu einen zusätzlichen Parameter. Setz man den auf den Wert "true", wird das Ergebnis der Suche in umgekehrter Reihenfolge abgearbeitet:

Code
app.selection[0].changeGrep(true); 



als Antwort auf: [#518660]
X