hilfdirselbst.ch
Facebook Twitter gamper-media
Ralf Hobirk p
Beiträge: 5772
12. Okt 2013, 03:27
Beitrag #1 von 6
Bewertung:
(1139 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


Hallo zusammen,

ich übersetze einzelne Begriffe per Script, konkret von Deutsch auf Niederländisch. Klappt soweit einwandfrei, außer wenn ein Wort in Deutsch groß, in Niederländisch (und demnächst auch Englisch) aber klein geschrieben wird.

So wird aus Insel nicht eiland sondern Eiland. Ich benötige also die S&E-Option "Case Sensitive" (keine Ahnung wie sie auf Deutsch heißt). In folgendem Code:

Code
app.findTextPreferences = null;  
app.changeTextPreferences = null;
app.findTextPreferences.findWhat = 'Insel';
app.findTextPreferences.appliedParagraphStyle = 'Routentext';
app.changeTextPreferences.caseSensitive = true;
app.changeTextPreferences.changeTo = 'eiland';
app.activeDocument.changeText();


wird die rot markierte Zeile in einer Fehlermeldung angemeckert: "Object does not support the property or method…"

Kann mir jemand sagen, wie die korrekte Syntax dafür lautet?

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1) Top
 
X
Gerald Singelmann  M  p
Beiträge: 6178
12. Okt 2013, 07:47
Beitrag #2 von 6
Beitrag ID: #518360
Bewertung:
(1110 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


Ich vermute, du willst hier etwas, was es nicht gibt.

CaseSensitive bedeutet, dass "Insel", aber nicht "insel" gefunden wird.
Ersetzt wird immer genau gegen das, was im Ersetzen-Feld steht.

Deine Beschreibung klingt so, als solle Insel gegen Eiland und insel gegen eiland ausgetauscht werden.

Wenn es solche Funktion gäbe, was würde dann passieren, wenn du "InDesign" gegen "word" tauscht? "WoRd"?
--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#518357] Top
 
Hans Haesler  M  p
Beiträge: 5581
12. Okt 2013, 08:10
Beitrag #3 von 6
Beitrag ID: #518361
Bewertung:
(1096 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


Hallo Ralf,

anstelle von changeTextPreferences muss findChangeTextOptions verwendet werden:

Code
app.findTextPreferences = app.changeTextPreferences = null; 
app.findTextPreferences.findWhat = "Insel";
app.findTextPreferences.appliedParagraphStyle = "Routentext";
app.findChangeTextOptions.caseSensitive = true;
app.changeTextPreferences.changeTo = "eiland";
app.activeDocument.changeText();
app.findTextPreferences = app.changeTextPreferences = null;

So wird "eiland" wie gewünscht eingsetzt.

Gruss, Hans
als Antwort auf: [#518360] Top
 
Ralf Hobirk p
Beiträge: 5772
12. Okt 2013, 13:46
Beitrag #4 von 6
Beitrag ID: #518363
Bewertung:
(1047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


@Gerald: Du hast mich offensichtlich nicht verstanden. Ich hatte ganz einfach das Problem, dass ein in Deutsch groß geschriebenes Wort nicht durch das korrekt eingetragene klein geschriebene niederländische Wort ersetzt wurde, sondern InDesign es "eigenmächtig" und falsch groß geschrieben hat. Solche Dinge sind mir aus dem normalen S&E seit Jahren bekannt.

@Hans: Du hast es richtig erkannt, funktioniert einwandfrei wie gewünscht, vielen Dank!

Noch eine Frage zum Verständnis:
Code
app.findTextPreferences = app.changeTextPreferences = null; 

setzt nach dem erfolgten S&E die Einstellungen wieder auf "Null" zurück, ja? Praktische Sache, die ich bisher auch vermisst hatte ;-)

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#518361] Top
 
Hans Haesler  M  p
Beiträge: 5581
12. Okt 2013, 17:04
Beitrag #5 von 6
Beitrag ID: #518367
Bewertung:
(1031 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


Hallo Ralf,

gern geschehen.

Das Zurücksetzen betreffend: Da gibt es zwei "Schulen". Die einen setzen nichts zurück, die anderen räumen auf.

Ich gehöre zu den anderen ... Es ist besser, wenn die Eingabefelder geleert und eventuelle Formatattribute gelöscht sind. Sonst kann es geschehen, dass bei einer nächsten Suchen/Ersetzen-Aktion (ob manuell oder per Script) das Ergebnis nicht den Erwartungen entspricht.

Übrigens: caseSensitive = true kannst Du auch im manuellen S&E einstellen. Dazu im Dialog das entsprechende Icon aktivieren. Siehe angehängten Screen-shot.

Gruss, Hans
als Antwort auf: [#518363] Top

Anhang:
 
Ralf Hobirk p
Beiträge: 5772
12. Okt 2013, 17:24
Beitrag #6 von 6
Beitrag ID: #518369
Bewertung:
(1024 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Syntax für "caseSensitive"


Hallo Hans,

das mit dem "Aufräumen" gefällt mir ausserordentlich gut. Ich habe mich immer wieder geärgert, wenn ich nach einem S&E per Script für ein manuelles S&E erst mal alles von Hand zurücksetzen musste.

Zitat Übrigens: caseSensitive = true kannst Du auch im manuellen S&E einstellen.

Das war und ist mir bekannt ;-). Deshalb war mir auch klar, dass dies die benötigte Option für mein S&E-Script ist.

Nochmal vielen Dank. Diesen Teil des Jobs habe ich inzwischen erledigt und abgehakt. Bis in ca. 2 Wochen Englisch an der Reihe ist.

Es ist schon erstaunlich, was man mit S&E-Scripts etc. alles machen kann. Ich habe gerade "mal eben" 87 Seiten eines 124-seitigen Reisekataloges ausschließlich mit Scripten von Deutsch auf Holländisch übersetzt ;-)

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)
als Antwort auf: [#518367] Top
 
X