[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Javascript suchen ersetzen in bestimmten Textrahmen

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

Javascript suchen ersetzen in bestimmten Textrahmen

waldviertler
Beiträge gesamt: 43

19. Okt 2012, 20:41
Beitrag # 1 von 7
Bewertung:
(15829 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Wie kann ich per Script in meinem Dokument nur die Texte eines bestimmten Textrahmen zu suchen und ersetzen?

Der Textrahmen hat einen Namen:
Code
var _dok = app.activeDocument; 
var tF = _dok.textFrames.itemByName("_Name");


und die Suche wird per Funktion aufgerufen:
Code
function suchenUndErsetzen() { 

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat= "^(\\d{4}#)\r";
app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.changeTo= "";
app.activeDocument.changeGrep();
//usw
}


Aber egal was ich mache, die Suche läuft immer übers ganze Dokument.

Weiß jemand Rat?

Beste Grüße
Martin
X

Javascript suchen ersetzen in bestimmten Textrahmen

drerol74
Beiträge gesamt: 507

19. Okt 2012, 21:16
Beitrag # 2 von 7
Beitrag ID: #502873
Bewertung: |
(15807 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

mit app.activeDocument.changeGrep(); ersetzt du im gesamten aktiven Dokument.

In deinem Fall legst du den Ort, wo gesucht/ersetzt werden soll, so fest:

Code
tF.findGrep(); 


Code
tF.changeGrep(); 




Schöne Grüße
Roland


als Antwort auf: [#502872]

Javascript suchen ersetzen in bestimmten Textrahmen

waldviertler
Beiträge gesamt: 43

19. Okt 2012, 22:33
Beitrag # 3 von 7
Beitrag ID: #502876
Bewertung:
(15773 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Weltklasse!!!

Vielen Dank, Roland

Martin


als Antwort auf: [#502873]

Javascript suchen ersetzen in bestimmten Textrahmen

photojo
Beiträge gesamt: 38

30. Apr 2021, 09:42
Beitrag # 4 von 7
Beitrag ID: #579715
Bewertung:
(14444 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

offensichtlich stelle ich mich zu doof an:

Ich möchte nur in der Box einen Text suchen/ersetzen:
Code
for (var a = 0; a < allPageItems.length; a++) { 
// das aktive Objekt
var curPageItem = allPageItems[a];
var curName = curPageItem.name;
var curSide = curPageItem.parentPage.side;

if (curName == "fuss" && curSide == PageSideOptions.LEFT_HAND) {
// das Objekt verschieben
curPageItem.move([110, 142]);

meinInhalt = curPageItem.texts[0].paragraphs[0].contents;

app.findGrepPreferences = NothingEnum.nothing;

app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = "abc";

app.changeGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences.changeTo = "xyz";

curPageItem.findGrep();


Das Verschieben geht. Der Text (meinInhalt) wird zur Kontrolle auch korrekt in einem Alert ausgegeben. Aber das Suchen/Ersetzen in der Textbox klappt nicht, über dem ganzen Dokument schon?! Was mache ich falsch?

Danke!


als Antwort auf: [#502872]

Javascript suchen ersetzen in bestimmten Textrahmen

WernerPerplies
Beiträge gesamt: 2762

30. Apr 2021, 10:06
Beitrag # 5 von 7
Beitrag ID: #579716
Bewertung:
(14428 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probiere es mal mit dieser Funktion:
wpsReplaceWithGrep(curPageItem, searchString, replaceString);
Code
wpsReplaceWithGrep(curPageItem, searchString, replaceString); 
/*Array*/function wpsReplaceWithGrep(object, searchString, replaceString)
{
try
{
//Reset the find/change grep preferences before each search.
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findChangeGrepOptions = NothingEnum.nothing;
app.findGrepPreferences.findWhat = searchString;
app.changeGrepPreferences.changeTo = replaceString;
var founds = object.changeGrep();
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findChangeGrepOptions = NothingEnum.nothing;
return founds;
}
catch (error)
{
founds = [];
throw error;
}
}



als Antwort auf: [#579715]

Javascript suchen ersetzen in bestimmten Textrahmen

Martin Fischer
  
Beiträge gesamt: 12783

30. Apr 2021, 10:10
Beitrag # 6 von 7
Beitrag ID: #579717
Bewertung: |||
(14421 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo photojo,

Antwort auf: curPageItem.findGrep();


Der Befehl zum GREP-Ersetzen lautet:

Code
    curPageItem.changeGrep(); 



als Antwort auf: [#579715]

Javascript suchen ersetzen in bestimmten Textrahmen

photojo
Beiträge gesamt: 38

30. Apr 2021, 11:13
Beitrag # 7 von 7
Beitrag ID: #579719
Bewertung:
(14375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank Werner und Martin. Jetzt klappt es!

Herzliche Grüße

Jo


als Antwort auf: [#579717]
X