[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, 18:41
Beitrag # 1 von 7
Bewertung:
(2465 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: 445

19. Okt 2012, 19:16
Beitrag # 2 von 7
Beitrag ID: #502873
Bewertung: |
(2443 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, 20:33
Beitrag # 3 von 7
Beitrag ID: #502876
Bewertung:
(2409 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: 30

30. Apr 2021, 07:42
Beitrag # 4 von 7
Beitrag ID: #579715
Bewertung:
(1080 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: 2615

30. Apr 2021, 08:06
Beitrag # 5 von 7
Beitrag ID: #579716
Bewertung:
(1064 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;
}
}


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 16.12.2020, Version 3.XX, neue Funktionen
Kundenstimmen


als Antwort auf: [#579715]

Javascript suchen ersetzen in bestimmten Textrahmen

Martin Fischer
  
Beiträge gesamt: 12472

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

Antwort auf: curPageItem.findGrep();


Der Befehl zum GREP-Ersetzen lautet:

Code
    curPageItem.changeGrep(); 


Viele Grüße
Martin




als Antwort auf: [#579715]

Javascript suchen ersetzen in bestimmten Textrahmen

photojo
Beiträge gesamt: 30

30. Apr 2021, 09:13
Beitrag # 7 von 7
Beitrag ID: #579719
Bewertung:
(1011 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

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
12.03.2021 - 16.07.2021

Digicomp Academy AG, Zürich oder virtuell
Freitag, 12. März 2021, 13.00 Uhr - Freitag, 16. Juli 2021, 17.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PBAS