hilfdirselbst.ch
Facebook Twitter gamper-media

**********************************************
        Facelifting HDS: Danke für deine Unterstützung!

**********************************************

« « 1 2 » »  
madram
Beiträge: 3
7. Jan 2008, 00:23
Beitrag #1 von 28
Bewertung:
(4288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo,
ich habe mich seit heute mit Indesign-Scripting beschäftigt, weil ich gerade eine wissenschaftliche Arbeit von DokuWiki in Indesign importieren möchte. Nun habe ich die Daten als XML-Datei vorliegen. Die Absatz- und Zeichenstile werden einwandfrei übernommnen. Nur bei den Fußnoten hapert es noch. Diese sollen als Marginalien an den Rand.

Es existiert ein ObjektStil "Marginalia", welcher einen verankerten Textrahmen definiert. Von Hand geht die Zuweisung wunderbar, aber es soll ja jetzt automatisch laufen. Die Marginalien selber sind XML-Tags im Fließtext und momentan noch im Haupttextrahmen zu sehen.

Ein Script soll jetzt den XML-Baum nach Tags mit dem Namen "Marginalia" durchsuchen und deren Inhalt in einen neuerstellten Textrahmen des Stils "Marginalia" verschieben. Durch die Suche in diesem Forum habe ich mir schonmal folgenden Code zusammengeklickt:

Code
/** 
* This script walks through all XML-tags and moves all texts associated
* with "Marginalia" to anchored text frames
*/

var wantedTag = "Marginalia";
var marginaliaStyle = "Marginalia";
var crntDoc = app.activeDocument;

// start script
deepSearch(crntDoc, wantedTag);


/**
* traverse XML-Tree and look for element
*/
function deepSearch(element, tag){
var crnt;
var i;
for (i = 0; i < element.xmlElements.length; i++){
crnt = element.xmlElements[i];
if (crnt.markupTag.name == tag){
convertToMarginalia(crnt);
}
deepSearch(crnt, tag);
}
}

/**
* create text frame, and copy content into
*/
function convertToMarginalia(element) {
// var content = element.contents;
var textFrame = element.texts[0].parentTextFrames[0]; // the parent textframe of the actual element
var paragraphs = textFrame.paragraphs; // doesnt return the actual position

if(textFrame.appliedObjectStyle.name != marginaliaStyle) { // don't touch existing marginalia
$.writeln("Found marginalia, moving to anchored text frame...");
// move text into frame
var myFrame = paragraphs.item(0).insertionPoints[0].textFrames.add(); // create frame
var margStyle = app.activeDocument.objectStyles.item(marginaliaStyle); // get Style
//myFrame.applyObjectStyle(margStyle, true); // ID crashes here...
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]); // move Text
}
}



Das Traversieren ist nichts besonderes, aber beim Verschieben des Inhaltes bin ich sehr unsicher, kenne das Objektmodell von Indesign zu schlecht. Der Text wird zwar verschoben, aber ungetagged. Im Haupttextrahmen bleibt ein leeres Element zurück. Außerdem landet der verankerte Textrahmen immer am Anfang, aber ich setze ja auch den Cursor (noch) nicht.

Mir geht es eigentlich hauptsächlich darum, die Marginalie samt XML-Tag in den neuen Textrahmen zu verschieben.

Wäre dankbar, wenn mir jemand dabei auf die Sprünge helfen könnte.

Richard

PS: Warum wird mein Beitrag samt Code ab der Hälfte kursiv dargestellt?
(Dieser Beitrag wurde von Martin Fischer am 7. Jan 2008, 07:50 geändert)
Top
 
X
pixxxelschubser p
Beiträge: 1541
7. Jan 2008, 01:12
Beitrag #2 von 28
Beitrag ID: #329454
Bewertung:
(4273 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo madram,

erst einmal willkommen auf HDS
Beim Scripten kann ich Dir leider nicht helfen.

Antwort auf: PS: Warum wird mein Beitrag samt Code ab der Hälfte kursiv dargestellt

Hier gibt es wahrscheinlich eine Kollision mit der foreneigenen Formatierung.
[i] Sample Text [/i] ergibt zum Beispiel Kursiven Text = Sample Text

Damit Du jetzt [i] sehen kannst habe ich vor dem "i" einen Punkt eingefügt, also [.i]
(Damit du jetzt "[.i]" sehen kannst, mußte ich beim Schreiben 2 Punkte einfügen.)

Wink

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#329451] Top
 
Martin Fischer  M  p
Beiträge: 11808
7. Jan 2008, 08:33
Beitrag #3 von 28
Beitrag ID: #329461
Bewertung:
(4229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo Richard,

Antwort auf: Der Text wird zwar verschoben, aber ungetagged. Im Haupttextrahmen bleibt ein leeres Element zurück.


Das liegt an der Definition des Objekts "element.texts[0]", das verschoben werden soll:
Code
element.texts[0].move(LocationOptions.atBeginning,  myFrame.texts[0]); // move Text 

texts ist ein reines Textobjekt.

Da ich mich in XML nicht so gut auskenne, um eine qualifizierte Antwort geben zu können, kann ich nur zu einem Versuch ermutigen:
Definiere statt "element.texts[0]" zum Verschieben mal nur "element" (damit sollte das ganze Element verschoben werden).
Oder in einem zweiten Versuch (falls der erste scheitert): "element.xmlContent" (wobei dies wahrscheinlich auch nur den ungetaggten Inhalt verschiebt).



Antwort auf: Außerdem landet der verankerte Textrahmen immer am Anfang,


Das liegt an der Definition des Ursprungs des Textrahmens: 'var myFrame = paragraphs.item(0).insertionPoints[0].textFrames.add();'
- am ersten Einfügepunkt des ersten Absatzes (also vor dem ersten Zeichen des ersten Absatzes).

Wo soll er denn hin?
An die Stelle, wo der Cursor steht?
app.selection[0].insertionPoints[0]

Viele Grüße
Martin
als Antwort auf: [#329451] Top
 
madram
Beiträge: 3
8. Jan 2008, 09:51
Beitrag #4 von 28
Beitrag ID: #329768
Bewertung:
(4188 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Besten Dank erstmal für den Hinweis. Habs versucht, aber das ganze Element konnte ich nicht verschieben. Entweder kam es zum Absturz oder ID hat sich geweigert; weiß nicht mehr genau.

Folgendes Script geht jetzt durch sämtliche Tags, erzeugt Textrahmen, kopiert die Inhalte und weist den neuen Rahmen das existierende Tag zu.

Bleiben noch zwei offene Fragen:
Code
  * Der Cursor bleibt immer an der Stelle, wo ich 
ihn hingesetzt habe. Wie kann ich den so
manipulieren, dass er immer vor das ehemalige
XML-Element im alten Textrahmen zeigt?
* Wenn ich versuche, dem neuen Textrahmen einen
Objektstil zuzuweisen, schmiert ID ohne jegliche
Fehlermeldung einfach ab. Es scheint auch genau
bei diesem Befehl zu passieren, nicht irgendwann
später.


Antwort auf: Hier gibt es wahrscheinlich eine Kollision mit der foreneigenen Formatierung.
[i] Sample Text ergibt zum Beispiel Kursiven Text = Sample Text

Das ist ja lustig. Hab's umbenannt.

Danke nochmal für die Antworten.
Richard

Code
/** 
* This script walks through all XML-tags and moves
* all texts associated with "Marginalia" to
* anchored text frames
*/

var wantedTag = "Footnote";
var marginaliaStyle = "Marginalia";
var actDoc = app.activeDocument; // just lazyness

// start script
deepSearch(actDoc, wantedTag);


/**
* traverse XML-Tree and look for element
*/
function deepSearch(element, tag){
var crnt, x;
for (x = 0; x < element.xmlElements.length; x++){
crnt = element.xmlElements[x];
if (crnt.markupTag.name == tag){
convertToMarginalia(crnt);
}
deepSearch(crnt, tag);
}
}


/**
* create text frame, and copy content into
*/
function convertToMarginalia(element) {
var margStyle, elemPrntFrame;

elemPrntFrame = element.texts[0].parentTextFrames[0];

// perform only, when textframe is not tagged as marginalia
if(elemPrntFrame.appliedObjectStyle.name != marginaliaStyle) {
$.writeln("Found marginalia, move it to anchored text frame...");
// create frame at actual cursor position
var newFrame = actDoc.selection[0].insertionPoints[0].textFrames.add();
// move Text into Frame
element.texts[0].move(LocationOptions.atBeginning, newFrame.texts[0]);
newFrame.markup(element);

// get marginalia style
var margStyle = actDoc.objectStyles.item(marginaliaStyle);
// aply this style -> ID will crash here...
//newFrame.applyObjectStyle(margStyle, true);
}
}

als Antwort auf: [#329461]
(Dieser Beitrag wurde von madram am 8. Jan 2008, 09:58 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 11808
8. Jan 2008, 10:16
Beitrag #5 von 28
Beitrag ID: #329777
Bewertung:
(4178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo Richard,

die von Dir verwandte Methode, einen Objektstil zuzuweisen ist zwar die bessere (weil man damit bestimmen kann, daß Abweichungen gelöscht werden). Es gibt aber noch eine Alternative:
Code
myFrame.appliedObjectStyle = margStyle; 


Könntest Du mal testen, ob ID damit weiter abstürzt oder zumindest das Absturzproblem damit behoben ist?

Antwort auf: Der Cursor bleibt immer an der Stelle, wo ich
ihn hingesetzt habe. Wie kann ich den so
manipulieren, dass er immer vor das ehemalige
XML-Element im alten Textrahmen zeigt?


Versuchs mal folgendermaßen:
Ersetze
Code
// move Text into Frame  
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]);
myFrame.markup(element);


durch
Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints[element.texts[0].insertionPoints[0].index-1]; 
// move Text into Frame
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]);
myFrame.markup(element);
myPointBeforeElement.select();


Eventuell geht die Bestimmung des myPointBeforeElement etwas einfacher (über previousItem).
Das müßte ich selbst erst noch konkret prüfen.

Viele Grüße
Martin
als Antwort auf: [#329768]
(Dieser Beitrag wurde von Martin Fischer am 8. Jan 2008, 10:20 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 11808
8. Jan 2008, 10:34
Beitrag #6 von 28
Beitrag ID: #329778
Bewertung:
(4171 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints.itemBefore(element.texts[0].insertionPoints[0]); 


Der Einfügepunt vor element ist notwendig, da element verschoben wird (und mit ihm der erste Einfügepunkt).

Viele Grüße
Martin
als Antwort auf: [#329777] Top
 
madram
Beiträge: 3
9. Jan 2008, 16:17
Beitrag #7 von 28
Beitrag ID: #330112
Bewertung:
(4110 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo Martin.

=== Stil zuweisen ===
Die "alternative" und offizielle weil dokumentierte Variante, welche Sie vorgeschlagen haben, bringt hier nicht viel, weil sämtliche wichtigen Stile nicht übernommen werden.

ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist. Marginalien sollten bei eine feste Breite besitzen, darum habe ich die Option gesetzt. Wird wohl ein Bug sein. Wenn ich die Option erben lasse, läuft alles wie geschmiert. Ebenso, wenn ich den Objektstil von Hand zuweise.

=== Textrahmen verschieben ===
Auch das läuft jetzt wunderbar. Die von Ihnen vorgeschlagene zweite Variante, das Vorgängerelement zu finden, bietet CS2 nicht an, aber ich habe ja auch nicht geschrieben, dass ich kein CS3 verwende.


Vielen Dank für die Hilfe. Ich probier noch ein bisschen und poste dann irgendwann das Script komplett.

Mit herzlichen Grüßen
Richard Weickelt
als Antwort auf: [#329778] Top
 
Martin Fischer  M  p
Beiträge: 11808
9. Jan 2008, 16:23
Beitrag #8 von 28
Beitrag ID: #330115
Bewertung:
(4108 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Antwort auf: ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist.


Ist es möglich, diese Häkchen zunächst mal wegzulassen und nach Aufführung des Skripts zu setzen?

Wenn ja - Ist es möglich, das Häkchen per Skript temporär zu deaktivieren, die Prozeduren auszuführen und am Ende das Häkchen über das Skript wieder zu aktivieren?

Viele Grüße
Martin
als Antwort auf: [#330112] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
9. Jan 2008, 18:03
Beitrag #9 von 28
Beitrag ID: #330138
Bewertung:
(4087 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Zitat und nach Aufführung des Skripts zu setzen

:)
als Antwort auf: [#330115] Top
 
silo
Beiträge: 29
28. Jan 2008, 10:51
Beitrag #10 von 28
Beitrag ID: #333585
Bewertung:
(3960 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo,
ich arbeite mich seit letzter Woche in InDesign, den Import von XML in InDesign und nun auch in das Skripting mit InDesign ein. Ich bin vorher nie mit DTP-Programmen in Berührung gekommen.

Auf jeden Fall habe ich (neben vielen weiteren) ziemlich genau die selbe Anforderung an ein Skript wie es durch madram beschrieben wurde. Deshalb bin ich froh das in diesem Thema bereits ein so gutes Skript erarbeitet wurde. Einige Fragen und Anmerkungen habe ich jedoch noch.


Antwort auf [ madram ] ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist. Marginalien sollten bei eine feste Breite besitzen, darum habe ich die Option gesetzt. Wird wohl ein Bug sein. Wenn ich die Option erben lasse, läuft alles wie geschmiert. Ebenso, wenn ich den Objektstil von Hand zuweise.

Dieses Problem habe ich versucht nachzustellen, konnte es aber in CS3 nicht mehr feststellen (allerdings weiss ich nicht genau was die Option "erben" im Kontext von InDesign bedeutet).


Antwort auf [ Martin Fischer ]
Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints.itemBefore(element.texts[0].insertionPoints[0]); 


Bei dieser Zeile wirft mir ID einen JavaScript Fehler.
Code
element.texts[0].parentStory.insertionPoints.itemBefore ist keine Funktion 

Das Objektmodell für CS3 kennt nur previousItem(obj): InsertionPoint, und damit funktioniert es auch.


Als nächstes musste ich die Reihenfolge der Ereignisse anpassen (im Gegensatz zu der in Beitrag #4).
1. Zuerst die Cursorposition setzen
Code
var myPointBefore = elem... 
myPointBefore.select();


2. und erst dann ein neues Frame erzeugen
Code
var newFrame = actDoc... 


3. Text verschieben
Code
element.texts[0].move(... 
newFrame.markup(...


4. Objektstiel zuweisen
Code
var margStyle = actDoc.... 
newFrame.applyObjectStyle(...



Nun meine Fragen:
Wenn der Text auf mehreren Textrahmen (bzw. die Story auf mehreren sog. 'textContainers') verteilt ist funktioniert das nur für den ersten Textrahmen (textContainers[0]).
Ich habe überlegt eine Schleife über die entsprechenden Textrahmen zu durchlaufen (for(j=0; j<currentStory.textContainers.length; ++j)), aber das Skript wird ja über die deepSearch()-Funktion nicht auf einem Textrahmen aufgerufen, sondern auf dem Dokument. Und das iteriert über die XML-Elemente. Da bin ich gerade etwas überfordert und würde mich freuen wenn mir jemand einen Hilfreichen Tip geben könnte.
als Antwort auf: [#330115] Top
 
Imion S
Beiträge: 141
12. Feb 2008, 14:23
Beitrag #11 von 28
Beitrag ID: #336408
Bewertung:
(3870 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo zusammen,

ich hoffe es ist in Ordnung, dass ich mich hier anschließe. Solch ein Sktipt habe ich nun auf der Basis des hier vorgestellten aufgebaut und für unsere Zwecke angepasst. Es funktioniert wunderbar und ich möchte mich bei allen Beteiligten bedanken, ich habe viel dadurch gelernt.

Nun erstelle ich gerade ein zweites Skript, welches global alle XML Tags durchläuft und die größen der Rahmen, egal ob Bilder oder Texte. Diesen Wert wende ich dann beim nächsten Objekt an, eshandelt sich um viele Rahmen die als verankerte Objekte in einem Fließtext eingebunden sind und über Objektstile ausgerichtet wurden, um dessen "y Versatz" Wert um die Höhe des vorhergehenden Rahmens zu verändern.

Das Funktioniert auch, solange der Rahmen, dessen Wert ich abgreifen möchte nicht einer von denen ist, die mit dem MarginalienScript erzeugt wurden. Ich bekomme zwar einen Wert, dieser ist aber die Höhe des Rahmens, in dem sich alle verankerten Objekte befinden und nicht der des neu erzeugten Rahmens.

Kann mir jemand sagen wo bei mir der Fehler liegt? Das wäre super.

Code
var objectHeight; 

traversexmlelements(app.activeDocument);
function traversexmlelements(elm){
var i;
for (i = 0; i < elm.xmlElements.length; i++){
if (elm.xmlElements[i].markupTag.name == "Artikelgruppe")
{
$.writeln("Artikelgruppe");
}
if (elm.xmlElements[i].markupTag.name == "Fotografie-Produktbild")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Fotografie-Schmuckbild")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Artikelgruppenname")
{
dothething(elm.texts[i].parentTextFrames[i]);
}
if(elm.xmlElements[i].markupTag.name == "Artikelgruppentext")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Guetesiegel")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Logo")
{
dothething(elm.xmlElements[i]);
}
traversexmlelements(elm.xmlElements[i]);
}
}

function dothething(elm){
var obj = null;
if (elm.pageItems.length != 0){
obj = elm;
} else if (elm.images.length !=0 ){
obj = elm.xmlContent.parent;
} else if (elm.epss.length != 0){
obj = elm.xmlContent.parent;
} else if (elm.pdfs.length !=0){
obj = elm.xmlContent.parent;
} else if (elm.texts.length !=0){
obj = elm.xmlContent.parent;
}
if (obj != null){
if(objectHeight)
{
obj.anchoredObjectSettings.anchorYoffset = objectHeight;
}
objectHeight = obj.geometricBounds[2] - obj.geometricBounds[0];
//alert(objectHeight);
}
}

---------------------------------------------------------------------------------
Creative Suite CS3 Design Premium auf MacBook Core 2 Duo 2,4 GHz und 4 GB Ram mit Mac OS X 10.6.1
als Antwort auf: [#333585]
(Dieser Beitrag wurde von Martin Fischer am 12. Feb 2008, 14:29 geändert)
Top
 
Martin Fischer  M  p
Beiträge: 11808
12. Feb 2008, 14:36
Beitrag #12 von 28
Beitrag ID: #336417
Bewertung:
(3864 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Antwort auf: Ich bekomme zwar einen Wert, dieser ist aber die Höhe des Rahmens, in dem sich alle verankerten Objekte befinden und nicht der des neu erzeugten Rahmens.


Mal ins Blaue rein:
Ist es möglich, daß Du ein Parent bzw. parentTextFrames[0] zu hoch gegangen bist?
Etwa bei "Artikelgruppenname"?

Viele Grüße
Martin
als Antwort auf: [#336408] Top
 
zaphodbeeblebroxx p
Beiträge: 408
12. Feb 2008, 14:57
Beitrag #13 von 28
Beitrag ID: #336429
Bewertung:
(3854 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


 
Hallo,

vielleicht liegt es auch daran, dass Du mit Deinem ersten Skript verankerte Textrahmen erzeugst. Wenn Du dann mit Deinem 2. Skript über die XML-Tags auf diese verankerten Textrahmen (bzw. den Content) zugreifst und Dich über die parents "hochangelst" erhälst Du als parent evtl. insertionPoints, die keine geometricBounds besitzten. Mit parentTextFrames[0] erhälst Du dann (wie Martin schon vermutet hat) den TF in dem Dein Text mit dem verankerten Rahmen liegt und nicht den TF des verankerten Rahmens. Somit die falschen Werte.


Matthias
als Antwort auf: [#336417] Top
 
Imion S
Beiträge: 141
12. Feb 2008, 16:08
Beitrag #14 von 28
Beitrag ID: #336460
Bewertung:
(3835 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Hallo,

das stimmt so. Allerdings habe ich jetzt hier die ganze Zeit nach einer Möglichkeit im Datenbrowser gesucht den Textframe zu bekommen, der den Text an sich enthällt.
Dabei habe ich festgestellt, dass der neu erzeugte Textrahmen das entsprechende Tag erbt und das wenn ich vom Content eine Ebene höher gehe, immer sofort im Vatertextframe lande. Weiß jemand wie ich diesen dazwischenliegenden Textframe von der Story ausgehend aufrufen kann?

Sollte as jemand nachvollziehen wollen ist das ganz einfach möglich indem man einen großen Textrahmen erzeugt und diesem das Tag Artikelgruppe zuweist. Anschließend erzeugt man einen verankterten Rahmen und weißt diesem das Tag Artikelgruppentext zu. dann noch ein bischen Kauderwelch in den verankerten Rahmen getippt und das Script laufen lassen.

Ich hoffe jemand hat einen Tip für mich, es kann ja nicht sein, dass man diesen Rahmen nicht zu packen bekommt.

vielen Dank für eure Hilfe,

Gruß, Andreas
---------------------------------------------------------------------------------
Creative Suite CS3 Design Premium auf MacBook Core 2 Duo 2,4 GHz und 4 GB Ram mit Mac OS X 10.6.1
als Antwort auf: [#336429] Top
 
Martin Fischer  M  p
Beiträge: 11808
12. Feb 2008, 16:12
Beitrag #15 von 28
Beitrag ID: #336464
Bewertung:
(3832 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Marginalien via Tags automatisch in Textrahmen verschieben


Antwort auf: Weiß jemand wie ich diesen dazwischenliegenden Textframe von der Story ausgehend aufrufen kann?


Es ist ein aStory.textFrames[x] (in CS3; in CS2 wahrscheinlich auch - da muß man aber aufpassen, daß man nicht die verknüpften Textrahmen der story erwischt)

Das x ermittelst Du über ein itemByRange vom ersten Zeichen der story bis zum besagten Textrahmen und zählst die darin enthaltenen Textrahmen.

Wahrscheinlich geht es sogar noch einfacher über den index des Textrahmens. Der müßte eigentlich je story bei 0 beginnen.

Viele Grüße
Martin
als Antwort auf: [#336460] Top
 
« « 1 2 » »  
X