[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: 124

22. Aug 2018, 23:30
Beitrag # 1 von 9
Bewertung:
(1357 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?
---
Viele Grüße
Mario
X

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4277

23. Aug 2018, 10:43
Beitrag # 2 von 9
Beitrag ID: #565741
Bewertung:
(1333 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.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#565737]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 124

23. Aug 2018, 16:15
Beitrag # 3 von 9
Beitrag ID: #565750
Bewertung:
(1309 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?
---
Viele Grüße
Mario


als Antwort auf: [#565741]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4277

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


als Antwort auf: [#565750]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 124

23. Aug 2018, 17:19
Beitrag # 5 von 9
Beitrag ID: #565757
Bewertung:
(1298 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.
---
Viele Grüße
Mario


als Antwort auf: [#565755]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 124

23. Aug 2018, 22:44
Beitrag # 6 von 9
Beitrag ID: #565767
Bewertung:
(1271 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?
---
Viele Grüße
Mario


als Antwort auf: [#565757]

Textrahmen und Inhalt finden

Uwe Laubender
Beiträge gesamt: 4277

24. Aug 2018, 10:34
Beitrag # 7 von 9
Beitrag ID: #565771
Bewertung:
(1235 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.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#565767]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 124

22. Sep 2018, 14:25
Beitrag # 8 von 9
Beitrag ID: #566446
Bewertung:
(1003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
kannst Du mir das mal genauer erklären?
---
Viele Grüße
Mario


als Antwort auf: [#565771]

Textrahmen und Inhalt finden

MarioF
Beiträge gesamt: 124

22. Sep 2018, 20:08
Beitrag # 9 von 9
Beitrag ID: #566451
Bewertung:
(980 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"); 

---
Viele Grüße
Mario


als Antwort auf: [#566446]
Hier Klicken X

Aktuell

Quark / Adobe / Apple / Microsoft
quark300

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
16.02.2019 - 29.06.2019

3400 Burgdorf, BE
Samstag, 16. Feb. 2019, 08.30 Uhr - Samstag, 29. Juni 2019, 08.30 Uhr

Lehrgang

Mit dem Erwerb des Zertifikats Publisher Basic beweisen Sie Ihre Kompetenz für die Mitarbeit bei der Gestaltung und Umsetzung von Publishing-Projekten. Das Zertifikat wird bei den Arbeitgebern immer bekannter; diese wissen, dass Sie mit diesem Abschluss sehr gutes KnowHow erworben haben. Nach erfolgreicher Absolvierung dieses Lehrgangs sind Sie in der Lage, die Zertifikatsprüfung abzulegen.

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Publisher Basic
Veranstaltungen
20.02.2019

Aarau
Mittwoch, 20. Feb. 2019, 17.30 Uhr

Kurs

Der Kurs richtet sich an interessierte PhotoshopanwenderInnen, welche ihre Kenntnisse in der Bildbearbeitung vertiefen möchten. Da der Fokus auf das QV der Polygrafie gelegt wird, können Ausbildner, Berufsleute, Prüfungsexperten sowie Lernende gleichermassen profitieren.

Mittwoch, 20. Februar 2019 bis Mittwoch, 13. März 2019
4 Kursabende à 4 Lektionen, 17.30 bis 20.45 Uhr
CHF 352.–

Nein

Organisator: Schule für Gestaltung Aargau

Kontaktinformation: Nadja Elsener, E-Mailnadja.elsener AT sfgaargau DOT ch

https://www.sfgaargau.ch/kurse/E-004.php