[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Absatzformat zuweisen

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

Absatzformat zuweisen

jogiBS
Beiträge gesamt: 4

31. Mai 2012, 11:41
Beitrag # 1 von 3
Bewertung:
(2260 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und guten Tag,

vor kurzem habe ich ein Video-Tutorial zum Thema InDesign Scripting durchgearbeitet,
und jetzt versuche ich ein eigenes zu basteln.

Eine CSV-Datei wird geladen, die Array-Einträge zu einem Adress-Block zusammengefasst.
Die Rubrik-Einträge kommen jeweils nur einmal vor.
Die Einträge werden in einem geöffneten InDesign-Dokument in den markierten Textrahmen geschrieben.
Soweit so gut.

Jetzt hänge ich fest. Den einzelnen Bereichen
Code
//Eintrag zusammenbasteln 

sollen unterschiedliche
Absatzformate (in InDesign vorhanden) zugewiesen werden. An welcher Stelle und wie mache ich das am Besten,
könnt ihr mir da weiterhelfen?

Gruß
Jürgen

Code
#target InDesign 

main();
exit();

function main() {
var myFile = File(Folder.path = "/Macintosh HD/blahblah/testimport.csv");
var ok = myFile.open("r");
if (!ok) {
alert(myFile.error);
}
//~ var myString = myFile.readln();

// Die while-Schleife liest alle Datensätze aus
//~ while (!myFile.eof) {
//~ readCSV(myString);
//~ myString = myFile.readln();
//~ }

// Testausgabe von fünf Einträgen
for (i = 0; i < 5; i++) {
var myString = myFile.readln();
readCSV(myString);
}
myFile.close();
}

function readCSV(str) {

var myArr = str.split("#");

// Rubrik-Einträge
if (myArr[0].length > 1 ) {var myRub1 = myArr[0] + "\r"; }
if (myArr[1].length > 1 ) {var myRub2 = myArr[1] + "\r"; }
if (myArr[2].length > 1 ) {var myRub3 = myArr[2] + "\r"; }

// Firmenadresse zusammensetzen
var myFirma = myArr[6];
if (myArr[5].length > 1) {
myFirma += "\n" + myArr[5] + "\n";
}
else {
if (myArr[7].length < 1 ) {
myFirma += "\n";
}
if (myArr[7].length > 1 && myArr[8].length < 1) {
myFirma += " " + myArr[7] + "\n";
}
if (myArr[8].length > 1) {
myFirma += " " + myArr[7] + "\n" + myArr[8] + "\n";
}
}

// PLZ und Ort
if (myArr[5].length < 1) {
var myOrt = myArr[4] + " " + myArr[9] + "\n";
}

// Land
if (myArr[3] != "Deutschland") {
var myLand = myArr[3] + "\n";
}

// Telefon
if (myArr[10].length > 1) {
var myTel = "Tel. " + myArr[10] + "\n";
}
// Internet
if (myArr[11].length > 1 ) {
var myWeb = myArr[11] + "\n";
}


// Prüfen of ein Dokument geöffnet ist
if (app.documents.length < 1) {
alert("Fehler \n Kann ohne Dokument nicht arbeiten.");
}
else {

// Eintrag zusammenbasteln
var myTextframe = app.selection[0];
var myEintrag;

if (myArr[0].length > 1){
myEintrag = myTextframe.contents = myRub1;
}
if (myArr[1].length > 1){
myEintrag = myTextframe.contents += myRub2;
}
if (myArr[2].length > 1){
myEintrag = myTextframe.contents += myRub3;
}
myEintrag = myTextframe.contents += myFirma;
if (myArr[5].length < 1){myEintrag = myTextframe.contents += myOrt;}
if (myArr[3] != "Deutschland"){myEintrag = myTextframe.contents += myLand;}
if (myArr[10].length > 1){myEintrag = myTextframe.contents += myTel;}
if (myArr[11].length > 1){myEintrag = myTextframe.contents += myWeb;}
myEintrag += myTextframe.contents += "\r";
}
}

X

Absatzformat zuweisen

mx
Beiträge gesamt: 161

31. Mai 2012, 16:28
Beitrag # 2 von 3
Beitrag ID: #495853
Bewertung:
(2214 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

du setzt halt irgend wann ein mal so was in der Art von:

Code
myTextframe.paragraphs[0].appliedParagraphStyle = app.activeDocument.paragraphStyles.itemByName("Absatzformat 1"); 


Das trifft jetzt den ersten Absatz im TextFrame und es sollte auch ein Absatzformat mit dem verwendeten Namen vorhanden sein.

Viele Grüße
Jo


als Antwort auf: [#495829]

Absatzformat zuweisen

jedijogi
Beiträge gesamt: 5

31. Mai 2012, 18:25
Beitrag # 3 von 3
Beitrag ID: #495858
Bewertung:
(2184 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Halo Jo,

vielen Dank das hilft mir weiter!

Gruß
Jürgen


als Antwort auf: [#495853]