hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP lernen

 



dschmutzi
Beiträge: 21

16. Jul 2007, 17:46

Beitrag #1 von 8
Bewertung:

(7261 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Bei dem Versuch einfachste Such&Tausch-Vorgänge mit GREP zu realisieren hatte ich große Probleme. Gibt es eine Möglichkeit GREP von Beginn an zu lernen. Eventuell empfehlenswerte Literatur?

[email]
Top

Martin Fischer  M  p
Beiträge: 9696

16. Jul 2007, 17:53

Beitrag #2 von 8
Beitrag ID: #302889

Bewertung:

(7256 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Ich schreibe das ungern, aber jetzt kann ich nicht anders: Suche im InDesign-Forum nach "GREP". Einer der ältesten Treffer bezieht sich m.W. auf Einführungen zu GREP.

Schau hier: http://www.hilfdirselbst.ch/...i?post=292172#292172


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#302886]

(Dieser Beitrag wurde von Martin Fischer am 16. Jul 2007, 18:23 geändert)
Top

dschmutzi
Beiträge: 21

17. Jul 2007, 09:56

Beitrag #3 von 8
Beitrag ID: #302969

Bewertung:

(7200 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Vielen Dank für die schnelle Hilfe. Es ist ein wenig tröstlich, zu sehen, dass andere auch ihre Probleme mit dem Verständnis haben, und bei den Links sollten die richtigen Informationen dabei sein.

als Antwort auf: [#302889] Top

dschmutzi
Beiträge: 21

17. Jul 2007, 10:45

Beitrag #4 von 8
Beitrag ID: #302984

Bewertung:

(7185 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Noch eine Frage zu GREP
In Indesign CS2 habe ich ein Script modifiziert um Kundendateien immer nach ein und demselben Schema umzuwandeln.
Dieses Skript (Origoinal-Adobe-Script: "FindChangeByList.jsx") gibt es auch für CS3 muss aber stark modifiziert werden.
Bei dieser Gelegenheit dachte ich die Funktionalität des Skriptes mit GREP zu erweitern.
Jetzt gibt es folgendes Phänomen: Suche ich in GREP nach einem "u" findet er es, wie auch den Umlaut "ü".
Nachdem das Skript gelaufen ist findet er nur noch das "ü".
Ist das ein Bug, oder was verstehe ich hier nicht.

als Antwort auf: [#302969] Top

Martin Fischer  M  p
Beiträge: 9696

17. Jul 2007, 10:53

Beitrag #5 von 8
Beitrag ID: #302988

Bewertung:

(7177 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Das "FindChangeByList.jsx" von CS3 ist buggy.
Dies wurde im Adobe Scripting Forum diskutiert.
Ich habe die Diskussion nur mit einem halben Auge notiert und weiß nicht genau, was dort als Bug diskutiert wurde. Ich meine aber, es hängt auch mit Umlauten zusammen.

Willst Du Dich dort mal schlau machen und hier berichten?


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#302984] Top

dschmutzi
Beiträge: 21

17. Jul 2007, 12:37

Beitrag #6 von 8
Beitrag ID: #303051

Bewertung:

(7150 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Vielen Dank, das war ein weiterer guter Tip.

Der Autor des Skriptes weiß um seinen Bug, und will ihn demnächst beheben.

Er gibt aber einen Workaround an, der meiner Meinung nach funktioniert. Er sagt, dass man die Preferences auf "Nothing" stellen kann, aber nicht die Options. Wenn man die entsprechenden Zeilen auskommentiert funktioniert das Suchen & Tauschen nach dem Skript richtig. Wenn man das Skript als Binärdatei exportiert stimmen auch die Umlaute in den Dialogen.

Der von mir daraufhin geänderte Skriptteil sieht folgendermaßen aus:
Code
function myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){ 
//Reset the find/change preferences before each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
var myString = "app.findTextPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeTextPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeTextOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
myFoundItems = myObject.changeText();
//Reset the find/change preferences after each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
}
function myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change grep preferences before each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
var myString = "app.findGrepPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGrepPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGrepOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGrep();
//Reset the find/change grep preferences after each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
}
function myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change glyph preferences before each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
var myString = "app.findGlyphPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGlyphPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGlyphOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGlyph();
//Reset the find/change glyph preferences after each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
}


Ob damit aber alles funktioniert kann ich mit meinen Skriptkenntnissen nicht beurteilen.

als Antwort auf: [#302988] Top

Martin Fischer  M  p
Beiträge: 9696

17. Jul 2007, 12:41

Beitrag #7 von 8
Beitrag ID: #303054

Bewertung:

(7149 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Danke für Deine ausführliche Rückmeldung.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#303051] Top

dschmutzi
Beiträge: 21

17. Jul 2007, 15:27

Beitrag #8 von 8
Beitrag ID: #303121

Bewertung:

(7112 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP lernen


Ich habe jetzt fast das ganze CS2 Skript "übersetzt" und kann nur sagen, dass GREP, wirklich sehr hilfreich ist.

Auch wenn ich erst wenige Befehle gelernt habe konnte ich etliche Zeilen "Suche&Tausch"-Anweisung sparen und damit mein Skript deutlich beschleunigen.

als Antwort auf: [#303054] Top


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP lernen


^