[GastForen Programme Print/Bildbearbeitung Adobe InDesign Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

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

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 08:16
Beitrag # 1 von 14
Bewertung:
(9252 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen
Ich habe folgendes Problem, dass ich in Dutzenden von Dokumenten Zeichen ersetzen muss. Dies betrifft nur eine Ebene und vorerst ein Absatzformat.

Im InDesign gibt es eine Ebene "EBENE" und das Absatzformat "ABSATZ".
In den Dokumenten müssten nachfolgende Zeichen ersetzt werden.
;' durch einfaches Anführungszeichen ′ (Unicode 2032)
" durch doppeltes Anführungszeichen ″ (Unicode 2033)

Das Script soll sich so verhalten, dass nur Zeichen in der Ebene "EBENE" mit Absatzformat "ABSATZ" ersetzt werden sollen. Zudem soll das Script - wenn mehrere Dateien geöffnet sind - die Zeichen in allen geöffneten Dateien ebenfalls ersetzen.

Zusammfassung
Die zwei Zeichen in der Ebene "EBENE" mit Absatzformat "ABSATZ" ersetzen.
Script soll in allen geöffneten Dokumenten angewendet werden.

Kann mir da jemand helfen?

Gruss Ivan

(Dieser Beitrag wurde von ivan am 21. Jan 2015, 08:17 geändert)
X

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 08:46
Beitrag # 2 von 14
Beitrag ID: #536138
Bewertung:
(9241 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ivan,

eigentlich sollte der Job bei nur diesen beiden Zeichen auch leicht ohne Skript mit Bordmitteln zu erledigen sein:

1. Blende alle Ebenen, in welchen nicht ersetzt werden soll, aus oder sperre sie;
2. wähle in der Ersetzen-Palette die entsprechenden Optionen für "nur sichtbare Ebenen" bzw. "nicht gesperrte Ebenen";
3. ersetze das jeweilige Zeichen kombiniert mit dem entsprechenden Absatzformat durch das gewünschte Zeichen.



Hast Du, weil Du das öfters brauchst, angefangen, dafür ein Skript zu entwickeln und kommst nicht weiter und suchst nun Unterstützung?
Dann zeige bitte, wie weit Du gekommen bist.

Oder wünscht Du, dass sich jemand die Zeit nimmt und Dir für diese spezielle Aufgabe ein Skript komplett neu entwickelt?


als Antwort auf: [#536135]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 08:54
Beitrag # 3 von 14
Beitrag ID: #536140
Bewertung:
(9232 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin
Vielen Dank für Deine rasche Antwort!

Es ist mir bewusst, dass dies auch ohne Script gehen würde.
Wir verwenden unter anderem noch ein anderes Script vor der PDF Produktion, da dachte ich, man könnte das geforderte Code-Schnipsel dort hineinpacken.
Und man hätte mit dem Script den Vorteil, dass man beide Zeichen auf einmal ersetzen kann, was mit Bordmitteln zweimal gemacht werden muss.
Ebenfalls wäre die Automatisierung (zirka 400-600 Dokumente) mit dem Programm von Peter Kahrel (Batch-convert) realisierbar.

Würde die Erstellung des Scripts einen grossen Aufwand geben?

Gruss Ivan



Antwort auf [ Martin Fischer ] Hallo Ivan,

eigentlich sollte der Job bei nur diesen beiden Zeichen auch leicht ohne Skript mit Bordmitteln zu erledigen sein:

1. Blende alle Ebenen, in welchen nicht ersetzt werden soll, aus oder sperre sie;
2. wähle in der Ersetzen-Palette die entsprechenden Optionen für "nur sichtbare Ebenen" bzw. "nicht gesperrte Ebenen";
3. ersetze das jeweilige Zeichen kombiniert mit dem entsprechenden Absatzformat durch das gewünschte Zeichen.



Hast Du, weil Du das öfters brauchst, angefangen, dafür ein Skript zu entwickeln und kommst nicht weiter und suchst nun Unterstützung?
Dann zeige bitte, wie weit Du gekommen bist.

Oder wünscht Du, dass sich jemand die Zeit nimmt und Dir für diese spezielle Aufgabe ein Skript komplett neu entwickelt?



als Antwort auf: [#536138]
(Dieser Beitrag wurde von ivan am 21. Jan 2015, 08:54 geändert)

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 09:07
Beitrag # 4 von 14
Beitrag ID: #536142
Bewertung:
(9218 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Und man hätte mit dem Script den Vorteil, dass man beide Zeichen auf einmal ersetzen kann, was mit Bordmitteln zweimal gemacht werden muss.
Ebenfalls wäre die Automatisierung (zirka 400-600 Dokumente) mit dem Programm von Peter Kahrel (Batch-convert) realisierbar.


Die eigentliche Ersetzung unter Ausschluss unsichtbarer oder gesperrter Ebenen ließe sich als Listeneintrag (2 Zeilen) für das von Adobe mitgelieferte Beispiel-Skript "FindChangeByList.jsx" einrichten.

Was dabei einzig fehlt, ist die Steuerung der Ebenensichtbarkeit (bzw. -sperrung).


Antwort auf: Würde die Erstellung des Scripts einen grossen Aufwand geben?

Je nach den weiteren Bedingungen und Protokollwünschen sind da schnell mal 30-60 Minuten verbraten.


als Antwort auf: [#536140]
(Dieser Beitrag wurde von Martin Fischer am 21. Jan 2015, 09:08 geändert)

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 09:10
Beitrag # 5 von 14
Beitrag ID: #536143
Bewertung:
(9215 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Martin
Im Prinzip könnten wir auch auf die Begrenzung der Ebene verzichten. Es würde reichen, wenn das Absatzformat eingeschlossen werden würde.

Das Absatzformat ist bei uns einzigartig und würde auch nur dort die gewünschten Zeichen ersetzen.

Gruss Ivan


als Antwort auf: [#536142]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 09:28
Beitrag # 6 von 14
Beitrag ID: #536145
Bewertung:
(9197 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier ein möglicher Baustein.


Code
if (app.activeDocument.paragraphStyles.itemByName('ABSATZ').isValid) 
{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;

// Sucheinstellung Absatzformat
app.findTextPreferences.appliedParagraphStyle = 'ABSATZ';


//' durch einfaches Anführungszeichen ′ (Unicode 2032)
app.findTextPreferences.findWhat = '<0027>';
app.changeTextPreferences.changeTo = '<2032>'

app.activeDocument.changeText();


//&quot; durch doppeltes Anführungszeichen &#8243; (Unicode 2033)
app.findTextPreferences.findWhat = '<0022>';
app.changeTextPreferences.changeTo = '<2033>'

app.activeDocument.changeText();

app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;
}



als Antwort auf: [#536143]
(Dieser Beitrag wurde von Martin Fischer am 21. Jan 2015, 09:35 geändert)

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 10:02
Beitrag # 7 von 14
Beitrag ID: #536146
Bewertung:
(9134 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin
Ich habe den Code in die FindChangeList.txt gepackt aber er funktioniert nicht. Muss ich dies in eine andere Datei einfügen?

Gruss Ivan


als Antwort auf: [#536145]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Ralf Hobirk
Beiträge gesamt: 5961

21. Jan 2015, 10:19
Beitrag # 8 von 14
Beitrag ID: #536149
Bewertung:
(9112 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ivan,

Martins Code ist nicht für FindChangeByList, sondern ein eigenständiges Script. Kopiere den Code in eine reine Textdatei und speichere die Datei mit dem Suffix ".jsx". Dieses Script legst du dann in den Ordner "Scripts Panel" von InDesign.

Viele Grüße
Ralf


als Antwort auf: [#536146]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 10:19
Beitrag # 9 von 14
Beitrag ID: #536150
Bewertung:
(9112 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der Code ist zum Einbau in Dein Hauptscript.


als Antwort auf: [#536146]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 10:57
Beitrag # 10 von 14
Beitrag ID: #536155
Bewertung:
(9030 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halo zusammen
Vielen Dank für Eure Hilfe.
Wäre es mit einer Zeile möglich, dass das Script die Zeichen in allen geöffneten Dokumenten ersetzt?

Sonst eine Super Sache, Danke vielmals.

Gruss Ivan


als Antwort auf: [#536150]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 11:33
Beitrag # 11 von 14
Beitrag ID: #536159
Bewertung:
(8981 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ivan,

versuch's (zunächst mit Kopien Deiner Dokumente, nicht mit den Originalen) mal mit folgendem Code:

Code
main(); 

function main()
{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;

for (var i = 0; i < app.documents.length; i++)
{
if (app.documents.item(i).paragraphStyles.itemByName('ABSATZ').isValid)
{
// Sucheinstellung Absatzformat
app.findTextPreferences.appliedParagraphStyle = app.documents.item(i).paragraphStyles.itemByName('ABSATZ');

//&apos; durch einfaches Anführungszeichen &#8242; (Unicode 2032)
app.findTextPreferences.findWhat = '<0027>';
app.changeTextPreferences.changeTo = '<2032>'
app.documents.item(i).changeText();

//&quot; durch doppeltes Anführungszeichen &#8243; (Unicode 2033)
app.findTextPreferences.findWhat = '<0022>';
app.changeTextPreferences.changeTo = '<2033>'
app.documents.item(i).changeText();
}
}
app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;
}



als Antwort auf: [#536155]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 12:52
Beitrag # 12 von 14
Beitrag ID: #536166
Bewertung:
(8937 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin
Funktioniert perfekt, danke!
Jetzt noch eine kleine Frage ... wäre Deine Variante mit zwei Absatzformaten möglich?

Also Quasi Format A und B vielleicht auch müssen berücksichtigt werden (Variable).

Gruss Ivan


als Antwort auf: [#536159]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

Martin Fischer
  
Beiträge gesamt: 12778

21. Jan 2015, 13:11
Beitrag # 13 von 14
Beitrag ID: #536168
Bewertung:
(8927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ivan,

auf die Schnelle:

Mach doch einfach ein Duplikat Deines Skripts und ersetze dort den Namen des Absatzformats (ABSATZ) an beiden Stellen durch den Namen des anderen Absatzformats.


als Antwort auf: [#536166]

Indesign CS6 Script - GREP Suchen/Ersetzen in einem Absatzformat

ivan
Beiträge gesamt: 37

21. Jan 2015, 13:32
Beitrag # 14 von 14
Beitrag ID: #536169
Bewertung:
(8890 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Martin
So läufts auch ... besten Dank für Deine schnelle Hilfestellung. Wir haben eine Menge Zeit gespart ;)

Gruss Ivan


als Antwort auf: [#536168]
X