[GastForen Programme Print/Bildbearbeitung Adobe InDesign InDesign CS - Java Script

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

InDesign CS - Java Script

vhausw
Beiträge gesamt: 65

24. Jan 2006, 20:10
Beitrag # 1 von 32
Bewertung:
(9124 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ich suche ein Java-Script für InDesign CS auf PC.
Es sollte einen Textrahmen erzeugen (kann auch ein Umrandung haben),
z.B. auf dem Infobereich (rechts), außerhalb der Seite.
Dort sollten folgende Infos stehen:
-Dokumentenname (automatisch)
-Datum (automatisch)
-Uhrzeit (automatisch)
-Benutzername der sich am PC angemeldeten Person (automatisch).

Wenn diese Script auchnoch dieses könnte (GENIAL!):
-Druckstiele auswählen zur Erzeugung einer [Dokumentenname.ps]-Datei
-PDF Export auswahl

Vielen Dank schonmal
X

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

24. Jan 2006, 20:26
Beitrag # 2 von 32
Beitrag ID: #206869
Bewertung:
(9110 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Schau mal hier:
http://www.adobeforums.com/...RBNXe.22@.3bbe0f55/6

Könnte das ein Anfang sein?

Benutzername geht m.W. nicht, weil InDesign nichts von dem Benutzer weiß.
JavaScript für InDesign bleibt in der application und hat keinen Zugriff auf das Betriebssystem (kann nur das, was InDesign kann).

Das genannte Skript kann keine Druckstile auswählen und auch nicht PDF exportieren. :-(


als Antwort auf: [#206867]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

25. Jan 2006, 08:47
Beitrag # 3 von 32
Beitrag ID: #206898
Bewertung:
(9086 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das folgende Skript trägt ein paar Informationen zusammen, legt einen neuen Textrahmen neben der ersten Seite des Dokuments an und fügt die Infos dort ein.

Die Informationen sind:
- Dateinamen,
- Datum,
- Uhrzeit,
- Zeichenzahl,
- Anzahl der Verknüpfungen,
- verwendete Schriften.



Code
//someInfo.jsx 
//DESCRIPTION: Trägt Informationen über Dateinamen, Datum, Uhrzeit, Zeichenzahl, Anzahl der Verknüpfungen und verwendete Schriften in einem Textrahmen neben der ersten Seite des Dokuments zusammen.
var myDoc = app.documents[0];
var theDocName = myDoc.name;
var theResult = myDate();
var theDate = theResult[0] ;
var theTime = theResult[1];
var theCharacters = myDoc.stories.everyItem().characters.length;
var theLinks = myDoc.links.length;
var theFonts = myDoc.fonts.everyItem().name.join("\r\t");


myFrame = myDoc.pages[0].textFrames.add({geometricBounds:[0, - 100, 150, 0.1]});
myFrame.contents = "Dokument:\t" + theDocName + "\rDatum:\t" + theDate + "\rUhrzeit:\t" + theTime + "\rZeichen:\t" + theCharacters + "\rVerknüpfungen:\t" + theLinks + "\rSchriften:\t" + theFonts;

function myDate()
{
var d= new Date();
var myMonth = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
var aDate = d.getDate() + ". " + myMonth[d.getMonth()] + " " + (d.getYear()*1 +1900)
var aTime = d.getHours() + ":" + d.getMinutes();
return [aDate, aTime];
}


Das Skript kann immer noch keine Druckstile auswählen und auch nicht PDF exportieren. :-(
Dafür gibt's andere Skripte (nicht hier, aber anderswo -> recherchieren).


als Antwort auf: [#206869]

InDesign CS - Java Script

Albert Schmitt
Beiträge gesamt: 28

25. Jan 2006, 13:39
Beitrag # 4 von 32
Beitrag ID: #206999
Bewertung:
(9053 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

könntest du bitte noch ein bißchen helfen?
Wie kriege ich das Script dazu, auch die Zeichenanzahl der Fußnoten zu zählen (wie die Info-Palette)?

Gruß
Albert


als Antwort auf: [#206898]

InDesign CS - Java Script

vhausw
Beiträge gesamt: 65

25. Jan 2006, 13:45
Beitrag # 5 von 32
Beitrag ID: #207003
Bewertung:
(9046 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für dieses Script.
Hat suuuper geklappt.

Ich sollte unr noch eines machen können:
einfach den ganzen Text in einer anderen Schriftart und Schriftgrösse ausgeben.
(Wenn ein Textrahmen an der gleichen Stelle steht sollte dieser verwendet werden - geht das überhaupt????)

Ich hab zzwar was versucht, aber ich bekomme nur die erste Zeile (Dokumentenname)
in der Schriftart hin, die restlichen Zeilen werden immernoch falsch wiedergegeben.

Code
 
//Trägt Informationen über Dateinamen, Datum, Uhrzeit, verwendete Schriften in einem Textrahmen neben der ersten Seite des Dokuments zusammen.
var myDoc = app.documents[0];
var theDocName = myDoc.name;
var theCharacters = myDoc.stories.everyItem().characters.length;
var theLinks = myDoc.links.length;
var theFonts = myDoc.fonts.everyItem().name.join("\r\t");
var Datum = new (Date);
var Tag = Datum.getDate();
var Wochentag = Datum.getDay();
var Monat = Datum.getMonth();
var Jahr = Datum.getFullYear();
var Tagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var Monatname = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var Stunde = Datum.getHours();
var Minute = Datum.getMinutes();
if(Minute<10)
{
Minute = "0" + Minute;
}
if(Stunde<10)
{
Stunde = "0" + Stunde;
}

{
//Setzt den Text in diese Schriftart ein.
myFont = app.fonts.item("Helvetica LT");

//Legt einen Textrahmen an.
myFrame = myDoc.pages[0].textFrames.add({geometricBounds:[15, - 100, 150, -5]});

//Trägt INFOs in den Textrahmen ein.
myFrame.contents =theDocName + "\r" + "\r" + (Tagname[Wochentag]+", "+Tag+"."+Monatname[Monat]+"."+Jahr+" | "+Stunde+":"+Minute+" Uhr ")
+ "\r" + "\rSchriften:\t" + theFonts;
}



//Change the size of the text frame.
{
var myParagraph = myFrame.paragraphs.item(0);
myParagraph.appliedFont = myFont;
myParagraph.justification = Justification.leftAlign;
myParagraph.pointZSize = 30;
}


Wer kann helfen........


als Antwort auf: [#206898]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

25. Jan 2006, 13:53
Beitrag # 6 von 32
Beitrag ID: #207007
Bewertung: ||
(9042 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Albert,

ich hatte - ungeprüft - gehofft, die Fußnoten würden auch berücksichtigt.
Dem ist nicht so.
Im Moment fällt mir dazu auch nichts ein.
Die Fußnoteninhalte sind für Skripts etwas sperrig.

Mit "myDoc.footnotes.everyItem().texts[0].characters.length" (wie es etwa bei den Textrahmen ginge: "myDoc.textFrames.everyItem().texts[0].characters.length") kommst Du nicht weiter.

Die einzige Lösung, die mir einfällt:
Fußnoten kurzfristig in normale Textrahmen verschieben, Zeichen zählen, Fußnoten wieder zurückschieben.

Das ist ziemlich umständlich.
Wenn Du es dennoch probieren möchtest, könnte ich Dir die beiden Routinen zum kurzfristigen Verschieben der Fußnoten in Textrahmen und zum Zurückverschieben, die ich an anderer Stelle gebraucht habe, zukommen lassen.


als Antwort auf: [#206999]

InDesign CS - Java Script

Albert Schmitt
Beiträge gesamt: 28

25. Jan 2006, 15:03
Beitrag # 7 von 32
Beitrag ID: #207037
Bewertung:
(9023 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für dein Angebot. Das wäre auf jeden Fall ein Fortschritt gegenüber jetzt, da dein Script ja alle Textrahmen in die Zählung einbezieht (im Gegensatz zur Info-Palette).
Das ist genau, was ich brauche. Ich würde es also auf jeden Fall ausprobieren.

Gruß
Albert


als Antwort auf: [#207007]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

25. Jan 2006, 16:40
Beitrag # 8 von 32
Beitrag ID: #207068
Bewertung:
(9003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es handelt sich um die beiden Funktionen fn2en() und en2fn()

Code
function fn2en( st )  
{
var fn = st.footnotes
for( var myCounter = 0; myCounter < fn.length; myCounter++ )
{
tf = app.activeDocument.textFrames.add( { label : 'temp'+myCounter } )
fn[myCounter].texts[0].move(LocationOptions.after, tf.insertionPoints[0] )
}
}


Code
function en2fn( st )  
{
var tf = app.activeDocument.textFrames
var fn = st.footnotes
for( var myCounter = fn.length-1; myCounter > -1; myCounter-- )
{
tf.item( 'temp'+myCounter ).parentStory.texts[0].move( LocationOptions.after, fn[myCounter].insertionPoints[0] )
tf.item( 'temp'+myCounter ).remove()
}
}

Peter Kahrel hat mich auf diesen Trick hingewiesen: http://www.adobeforums.com/...XmNI9.0@.3bbc31b2/10

Falls Du das Skript entsprechend ausbaust, wäre es nett, wenn Du die erweiterte Version hier veröffentlichen würdest.


als Antwort auf: [#207037]
(Dieser Beitrag wurde von Martin Fischer am 25. Jan 2006, 16:42 geändert)

InDesign CS - Java Script

vhausw
Beiträge gesamt: 65

25. Jan 2006, 17:28
Beitrag # 9 von 32
Beitrag ID: #207077
Bewertung:
(8992 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
Danke nochmals für dein TOLLES Script.

Ich sollte nurnoch eines machen können:
einfach den ganzen Text in einer anderen Schriftart und Schriftgrösse ausgeben.
(Wenn ein Textrahmen an der gleichen Stelle steht sollte dieser verwendet werden - geht das überhaupt????)

Ich hab zwar was versucht, aber ich bekomme nur die erste Zeile (Dokumentenname)
in der Schriftart hin, die restlichen Zeilen werden immernoch falsch wiedergegeben.

Code
 

//Trägt Informationen über Dateinamen, Datum, Uhrzeit, verwendete Schriften in einem Textrahmen neben der ersten Seite des Dokuments zusammen.
var myDoc = app.documents[0];
var theDocName = myDoc.name;
var theCharacters = myDoc.stories.everyItem().characters.length;
var theLinks = myDoc.links.length;
var theFonts = myDoc.fonts.everyItem().name.join("\r\t");
var Datum = new (Date);
var Tag = Datum.getDate();
var Wochentag = Datum.getDay();
var Monat = Datum.getMonth();
var Jahr = Datum.getFullYear();
var Tagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var Monatname = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var Stunde = Datum.getHours();
var Minute = Datum.getMinutes();
if(Minute<10)
{
Minute = "0" + Minute;
}
if(Stunde<10)
{
Stunde = "0" + Stunde;
}

{
//Setzt den Text in diese Schriftart ein.
myFont = app.fonts.item("Helvetica LT");

//Legt einen Textrahmen an.
myFrame = myDoc.pages[0].textFrames.add({geometricBounds:[15, - 100, 150, -5]});

//Trägt INFOs in den Textrahmen ein.
myFrame.contents =theDocName + "\r" + "\r" + (Tagname[Wochentag]+", "+Tag+"."+Monatname[Monat]+"."+Jahr+" | "+Stunde+":"+Minute+" Uhr ")
+ "\r" + "\rSchriften:\t" + theFonts;
}



//Change the size of the text frame.
{
var myParagraph = myFrame.paragraphs.item(0);
myParagraph.appliedFont = myFont;
myParagraph.justification = Justification.leftAlign;
myParagraph.pointZSize = 30;
}


Grüßle
Volker [vhausw]


als Antwort auf: [#206898]

InDesign CS - Java Script

Albert Schmitt
Beiträge gesamt: 28

25. Jan 2006, 18:03
Beitrag # 10 von 32
Beitrag ID: #207085
Bewertung:
(8982 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin

vielen Dank für die beiden Funktionen. Ich werde sehen, was ich hinkriege. Allerdings liegen meine JavaScriptfähigkeiten noch auf dem Level >Anfänger<, also rechne ich nicht gleich mit einem Erfolg. Aber versuchen kann ichs ja (morgen) und wenns klappt, machts auch Spass.

Bei der Gelegenheit: Dein >VertikalerKeil<-Script ist (fast) reine Magie, es spart mir gerade bei einem Buch mit vielen (kleineren) Zitaten eine Menge Arbeit und Zeit.

Danke und Gruß und schöner Feierabend
Albert


als Antwort auf: [#207068]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

25. Jan 2006, 21:26
Beitrag # 11 von 32
Beitrag ID: #207120
Bewertung:
(8953 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Dein >VertikalerKeil<-Script ist (fast) reine Magie, es spart mir gerade bei einem Buch
> mit vielen (kleineren) Zitaten eine Menge Arbeit und Zeit.

So eine Rückmeldung läuft natürlich runter wie Öl.
Dann war dieses Skript also nicht für die Katz'.
Danke.

Auch mir ist das VertikalerKeil-Skript eine große Hilfe. Zuletzt habe ich es heute eingesetzt. ;-)
Und dabei hatte ich mir gewünscht, es ginge auch rückwärts.
Also daß es statt dem Austreiben auch das Einbringen verstünde.
Ich habe da so eine Idee im Hinterkopf ...


als Antwort auf: [#207085]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

25. Jan 2006, 21:48
Beitrag # 12 von 32
Beitrag ID: #207122
Bewertung:
(8948 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Volker,

> Ich sollte nur noch eines machen können:
> einfach den ganzen Text in einer anderen Schriftart und Schriftgrösse ausgeben.
> Ich hab zwar was versucht, aber ich bekomme nur die erste Zeile (Dokumentenname)
> in der Schriftart hin, die restlichen Zeilen werden immernoch falsch wiedergegeben.

Bei Dir steht "var myParagraph = myFrame.paragraphs.item(0); "
myParagraph ist also der erste Absatz im Textrahmen.
Und diesem weist Du die Schrift myFont zu.
Die anderen Absätze bleiben unberücksichtigt.

Nun könntest Du eine Schleife machen und vom ersten (myFrame.paragraphs[0]) bis zum letzten (myFrame.paragraphs[-1]) die Schrift myFont und die anderen Attribute zuordnen.

Es geht aber auch einfacher: Du weist die Schrift dem gesamten Text vom Textrahmen myFrame zu. Der gesamte Text ist texts[0].
Die Zeile lautet also:
Code
myFrame.texts[0].appliedFont = myFont; 


Und so weiter mit den anderen Eigenschaften.

Noch einfacher wäre es aber, wenn Du mit einem speziellen Absatzformat arbeiten würdest.
z.B.
Code
// neues Absatzformat mit Eigenschaften definieren 
myStyle = myDoc.paragraphStyles.add(
{
name:"Info",
appliedFont:app.fonts.item("Helvetica LT"),
justification: Justification.leftAlign,
pointSize:30
}
)

Und dann könntest Du dem Text dieses Absatzformat zuweisen:
Code
myFrame.texts[0].appliedParagraphStyle = myStyle; 


> (Wenn ein Textrahmen an der gleichen Stelle steht sollte dieser verwendet werden -
> geht das überhaupt????)

Ja, wenn der Textrahmen über ein eindeutiges Merkmal zu identifizieren ist.
Ein Merkmal haben wir schon: er sitzt auf dem ersten Druckbogen (auch die Montagefläche zählt dazu). Ein weiteres Merkmal könnte der Inhalt (oder ein Teil davon sein).

Besser aber, wir verpassen ihm ein label (Skriptbezeichnung). Das ist so eine Art Etikett.
Der Textrahmen könnte z.B. das label "Info" bekommen (myFrame.label = "Info"). Und beim Aufruf des Skripts wäre zu prüfen, ob auf dem ersten Druckbogen ein Textrahmen mit label "Info" vorhanden ist (dann nimm den, sonst mach' 'nen neuen).

Allerdings würde ich den Textrahmen mit dem label "Info" vor dem Zählen löschen, sonst wird dessen Inhalt beim Zählen der Zeichen auch berücksichtigt.


als Antwort auf: [#207085]
(Dieser Beitrag wurde von Martin Fischer am 25. Jan 2006, 21:50 geändert)

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

26. Jan 2006, 08:27
Beitrag # 13 von 32
Beitrag ID: #207144
Bewertung:
(8923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Volker,

an Deinem Skript habe ich noch etwas rumgebastellt:
1. diverse Infos ergänzt (Seite von bis; Zeichen gesamt, im Text, in Fußnoten, in Tabelle; Verknüpfungen)
2. Wenn das Absatzformat "Info" nicht vorhanden ist, wird es mit bestimmten Eigenschaften angelegt.
3. Wenn auf dem ersten Druckbogen ein Textrahmen mit dem label "Info" vorhanden ist, wird er gelöscht. Die "Geometrie" dieses Rahmens wird zur Verwendung bei einem neu anzulegenden Rahmen gesichert.
4. Die Info wird anngezeigt.

Code
//someInfo_2.jsx 
// Trägt Informationen über Dateinamen, Datum, Uhrzeit, verwendete Schriften in einem Textrahmen neben der ersten Seite des Dokuments zusammen.
var myDoc = app.documents[0];
var myLabel = "Info";
var myFont = "Myriad";
var myBounds = [0, - 100, 150, -5];

// Textrahmen prüfen und ggf. löschen (Koordinaten sichern)
var myFSFrames = myDoc.spreads[0].textFrames;
for (oneFrame = myFSFrames.length -1; oneFrame >=0 ; oneFrame--)
{
if (myFSFrames[oneFrame].label == myLabel)
{
myBounds = myFSFrames[oneFrame].geometricBounds;
myFSFrames[oneFrame].remove()
}
}

// catch the info
var theDocName = myDoc.name;
var theCharacters = myDoc.stories.everyItem().characters.length;
var theFN = myDoc.search("^F");
if (theFN.length > 0) var theFNChars = myDoc.stories.everyItem().footnotes.everyItem().texts[0].characters.length else theFNChars = 0;
var theTableChars = myDoc.stories.everyItem().tables.everyItem().cells.everyItem().texts[0].characters.length
var theLinks = myDoc.links.length;
var theFonts = myDoc.fonts.everyItem().name.join("\r\t");

// Datumformatierung
var Datum = new (Date);
var Tag = Datum.getDate();
var Wochentag = Datum.getDay();
var Monat = Datum.getMonth();
var Jahr = Datum.getFullYear();
var Tagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var Monatname = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var Stunde = Datum.getHours();
var Minute = Datum.getMinutes();
if (Minute<10)
{
Minute = "0" + Minute;
}
if (Stunde<10)
{
Stunde = "0" + Stunde;
}

myStyle = myDoc.paragraphStyles.item("Info")

// neues Absatzformat anlegen mit bestimmten Eigenschaften
// wenn die gewählte Schrift nicht installiert ist, erfolgt Abbruch
try
{
myStyle.name;
}
catch (e)
{
if (app.fonts.item(myFont).status != FontStatus.installed)
{
alert("Schrift \"" + myFont + "\" nicht vorhanden.\rAbsatzformat \"Info\" konnte nicht angelegt werden.");
exit();
}

myTabList = [{position:'3.5mm', aligment:TabStopAlignment.leftAlign}, {position:'40mm', aligment:TabStopAlignment.leftAlign}];
myStyle = myDoc.paragraphStyles.add(
{
name:"Info",
appliedFont:app.fonts.item(myFont),
justification: Justification.leftAlign,
firstLineIndent:0,
leftIndent:0,
pointSize:10,
tabList:myTabList
}
)
}
//Legt einen Textrahmen an.
myFrame = myDoc.pages[0].textFrames.add
(
{
geometricBounds:myBounds,
contents:(theDocName
+ "\r" + myDoc.pages[0].name + "–" + myDoc.pages[-1].name
+ "\r\r" + Tagname[Wochentag]+", "+Tag+"."+Monatname[Monat]+"."+Jahr+" | "+Stunde+":"+Minute+" Uhr "
// jede Tabelle wird als ein Zeichen gezählt; deswegen wird unten die Anzahl der Tabellen von den Zeichen im Text wieder substrahiert
+ "\r\rZeichen:\t" + (theCharacters + theFNChars + theTableChars - myDoc.stories.everyItem().tables.length)
+ "\r\t(Text):\t" + (theCharacters - myDoc.stories.everyItem().tables.length)
+ "\r\t(Fußnoten):\t" + theFNChars
+ "\r\t(Tabellen):\t" + theTableChars
+ "\r\rVerknüpfungen:\t" + theLinks
+ "\r\rSchriften:\r\t" + theFonts + "\r"),
label:myLabel,
}
);

// Zuweisung des Absatzformats
myFrame.texts[0].appliedParagraphStyle = myStyle
showIt(myFrame);

function showIt(theObj)
{
// Selects object, turns to page and zooms in on it
myZoomFactor = app.activeWindow.zoomPercentage
app.select(theObj,SelectionOptions.replaceWith);
app.activeWindow.zoom = ZoomOptions.fitPage;
app.activeWindow.zoomPercentage = myZoomFactor;
}



als Antwort auf: [#207122]

InDesign CS - Java Script

Martin Fischer
  
Beiträge gesamt: 12691

26. Jan 2006, 08:36
Beitrag # 14 von 32
Beitrag ID: #207146
Bewertung:
(8923 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Albert,

meine Behauptung, die Zeichen in den Fußnoten ließen sich auf dem direkten Weg nicht zählen, ist falsch. Weil ein falscher Befehl nicht funktionierte und weil die Fußnoten für Skripts tatsächlich etwas sperrig sind, habe ich fälschlicherweise gleich kurzgeschlossen und den Fehler beim eingeschränkten Skriptzugriff auf Fußnoten gesucht und nicht in einem falschen Befehl von mir.

Es ist richtig, daß "myDoc.footnotes.everyItem().texts[0].characters.length" nicht funktioniert, weil die Fußnoten nicht Kinder (children) des Dokuments sind, sondern der Textflüsse (stories).
Der Befehl muß also richtig lauten:
Code
myDoc.stories.everyItem().footnotes.everyItem().texts[0].characters.length 


Und schon werden die Zeichen in den Fußnoten gezählt.


Weil bei "myDoc.stories.everyItem().characters.length" die Zeichen der [b]Tabellen ebenfalls unberücksichtigt bleiben, habe ich diese extra hinzugenommen. Hier müssen die Zeichen in allen Zellen aller Tabellen aller Textflüsse gezählt werden:

Code
myDoc.stories.everyItem().tables.everyItem().cells.everyItem().texts[0].characters.length 


Tabellen in Fußnoten sind in dem Skript oben (someInfo_2.jsx) nicht berücksichtigt.

Wenn Du die Fußnoten dennoch über den Umweg über die "Verschiebefunktionen" gezählt hast, bin ich neugierig auf Deinen Code.

Bitte entschuldige meine voreilige Behauptung bzgl. der Zählung der Zeichen in den Fußnoten.


als Antwort auf: [#207085]
(Dieser Beitrag wurde von Martin Fischer am 26. Jan 2006, 08:50 geändert)

InDesign CS - Java Script

vhausw
Beiträge gesamt: 65

26. Jan 2006, 08:57
Beitrag # 15 von 32
Beitrag ID: #207150
Bewertung:
(8902 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten MORGEN Martin,
ich als kleines Anfängerwürmchen im Scripten, habe halt immernoch probleme.
Zuerst mal vielen Dank für die schnelle Info von dir.
Ich glaube, ich bin dir mal ne Tasse Kaffee schuldig.

Problem (Fehlermeldung)- Ich mach im InDesign CS2 ein NEUES-Doc auf, lasse dann dein "TOLLES" Script laufen, und es kommt nur:

Fehlernummer: 24
Zeile: 24
Quelle:
Code
var theTableChars = myDoc.stories.everyItem().tables.everyItem().cells.everyItem().texts[0].characters.length 

wenn jetzt noch was nicht geht, kann ich es nicht prüfen.

Ich muss schon sagen :
Dieses Script gefällt mir immer mehr.


Vielen Dank.
Grüßle
Volker


als Antwort auf: [#207144]
X