[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textrahmen und Inhalt finden

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

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

22. Aug 2018, 23:30
Beitrag # 1 von 9
Bewertung:
(2376 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe folgenden Code:
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;


for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {

app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";

var _findInfo = _dok.findText();

for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");
}
}
}


Ziel ist es, auf einer Seite einen Textrahmen mit den Bezeichnung "tf_info" zu finden und in dem der Text "Info" enthalten ist. Beim Auffinden soll dem TR das OF "Infobox" zugewiesen werden.
Der Code ignoriert nun aber die Bezeichnung des TR und findet alle TR, in dem das Wort Info steht. Wie bekomme ich es dazu, nur die Textrahmen mit dem Wort zu finden?
X

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 5250

23. Aug 2018, 10:43
Beitrag # 2 von 9
Beitrag ID: #565741
Bewertung:
(2352 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
schau' Dir mal Deine Zeile an, die nach dem Text sucht.
_dok.findText() durchsucht nun mal das ganze Dokument.
Beschränke das auf _tfInfo.


als Antwort auf: [#565737]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

23. Aug 2018, 16:15
Beitrag # 3 von 9
Beitrag ID: #565750
Bewertung:
(2328 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
vielen Dank. So klappt es doch ganz gut ;-)
Ich würde das Script erweitern wollen. Es gibt 12 Begriffe, die in den Textrahmen vorhanden sein können. Das Script soll wie gehabt nach TR "tr_info" suchen.
Wenn das Wort Info drin steht, verschiebe den TR dahin, bei Wort Hinweis an eine anderer Stelle usw.
Muss ich den Teil
Code
{   

app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";

var _findInfo = _tfInfo.findText();

for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");


}


in der kompletten Form 12 mal anlegen oder kann man das Verkürzen?


als Antwort auf: [#565741]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 5250

23. Aug 2018, 17:00
Beitrag # 4 von 9
Beitrag ID: #565755
Bewertung:
(2324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
wenn Du 12 verschiedene Objektformate je nach Fall zuweisen möchtest, dann ja.


als Antwort auf: [#565750]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

23. Aug 2018, 17:19
Beitrag # 5 von 9
Beitrag ID: #565757
Bewertung:
(2317 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
ich habe jetzt diese Version, die soweit funktioniert.
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;


for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {
{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Info";
var _findInfo = _tfInfo.findText();
for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Infobox");
}

{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Hinweis";
var _findInfo = _tfInfo.findText();
for (var a = _findInfo.length-1 ; a >=0 ; a--) {
var _findTR = _findInfo[a];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.appliedObjectStyle = _dok.objectStyles.itemByName ("Hinweis");
}


}
}
}
}

Es findet aber nur einen Textrahmen mit der Bezeichnung tf_info und ändert nur den zuletzt angelegten Textrahmen.


als Antwort auf: [#565755]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

23. Aug 2018, 22:44
Beitrag # 6 von 9
Beitrag ID: #565767
Bewertung:
(2290 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich muss da noch einmal nachfragen:
Code
var _dok = app.activeDocument; 
var _alleSeiten = _dok.pages;

for (var i = 0; i < _alleSeiten.length; i++) {
var _seite = _alleSeiten[i];
var _tfInfo = _seite.textFrames.itemByName("tf_info");
if (_tfInfo.isValid == true) {

{
app.findTextPreferences = app.changeTextPreferences = NothingEnum.NOTHING;
app.findTextPreferences.findWhat = "Hinweis";
var _findInfo = _tfInfo.findText();
for (var n = _findInfo.length-1 ; n >=0 ; n--) {
var _findTR = _findInfo[n];
var _ObjektFormat = _findTR.parentTextFrames[0];
_ObjektFormat.move(undefined, [0, 35]);
_dok.pages.item(0).appliedMaster = _dok.masterSpreads.item("B-Musterseite");
}

Im letzten Schritt soll die Seite mit dem gefundenen Textrahmen eine entsprechende Musterseite zugeordnet werden.
Ich komme mit
Code
dok.pages.item(0).appliedMaster 

Ich muss ja die Seite ansprechen, auf den der TR ist. Wie komme ich die Seite in eine Variable?


als Antwort auf: [#565757]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 5250

24. Aug 2018, 10:34
Beitrag # 7 von 9
Beitrag ID: #565771
Bewertung:
(2254 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Mario,
falls der Textrahmen auf einer Seite liegt und nicht draußen auf dem Pasteboard, enthält die Variable parentPage des Textrahmens die Seite. Im anderen Fall ist der Wert null.


als Antwort auf: [#565767]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

22. Sep 2018, 14:25
Beitrag # 8 von 9
Beitrag ID: #566446
Bewertung:
(2022 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
kannst Du mir das mal genauer erklären?


als Antwort auf: [#565771]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 378

22. Sep 2018, 20:08
Beitrag # 9 von 9
Beitrag ID: #566451
Bewertung:
(1999 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
jetzt habe ich es...

Statt
Code
dok.pages.item(0).appliedMaster = _dok.masterSpreads.item("B-Musterseite"); 



so

Code
 _ObjektFormat.parentPage.appliedMaster = _dok.masterSpreads.item("B-Musterseite"); 



als Antwort auf: [#566446]
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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/