Querverweise einfügen

(Übersetzung von Inserting Cross-References von Rick Quatro)

In FrameMaker gibt es zwei Arten von Querverweisen: Querverweise auf Absätze (Absatz-Querverweise) und Querverweise auf bestimmte Stellen innerhalb eines Absatzes (Stellen-Querverweise). (Es gibt noch eine dritte Art, die Element-Querverweise, die aber nur in FrameMaker+SGML verfügbar sind.) Absatz- und Stellen-Querverweise funktionieren auf dieselbe Weise: Sie müssen ein Xref-Objekt einfügen, das auf eine Querverweismarke verweist. Das Xref-Objekt besitzt eine Eigenschaft XRefSrcText, die genau mit dem Markentext der Querverweismarke übereinstimmen muss. Zunächst werden die Stellen-Querverweise behandelt, da diese ein wenig einfacher zu handhaben sind.

Stellen-Querverweise

Als Beispiel dient eine Tabelle mit den Namen von Wartungsprozeduren innerhalb des Dokuments. Mithilfe von FrameScript sollen Querverweise von den Einträgen in der Tabelle zu den entsprechenden Textstellen im Dokument erstellt werden. Unter der Tabelle finden Sie eine Beispielprozedur.

Liste mit Anleitungen
Beispiel für eine Wartungsanleitung

In unserem Beispiel befinden sich alle in der Tabelle aufgelisteten Prozeduren im selben Dokument wie die Tabelle selbst. Jede Prozedur hat das Absatzformat Heading2.

Hinzufügen von Querverweismarken

Ein Grundprinzip beim Lösen von Problemen mithilfe von FrameScript besteht darin, das jeweilige Problem zunächst in einzelne Aufgaben aufzuteilen. Die erste Aufgabe ist das Einfügen von Querverweismarken in jede Absatzüberschrift einer Prozedur. Da Sie wissen, dass alle Prozeduren mit einem Absatz im Format Heading2 beginnen, müssen die Marken nur in diese Absätze eingefügt werden. Der Markentext wird dabei auf den Text des Absatzes gesetzt. Wichtig ist, dass jede Querverweismarke im Dokument einen eindeutigen Text enthält. In unserem Beispiel wird davon ausgegangen, dass jeder Absatz Heading2 einen eindeutigen Text enthält, der in keinem anderen solchen Absatz vorkommt.

// Prüfen, ob aktives Dokument vorhanden.
If (ActiveDoc = 0)
    MsgBox 'Kein aktives Dokument.';    ';
    LeaveSub;
Else
    Set vCurrentDoc = ActiveDoc;
EndIf
Loop ForEach(Pgf) In(vCurrentDoc) LoopVar(vPgf)
    If (vPgf.Name = 'Heading2')
        New Marker NewVar(vMarker) MarkerName('Cross-Ref') 
            TextLoc(vPgf);
        // Absatztext dem Markentext zuweisen.
        Set vMarker.MarkerText = vPgf.Text;
    EndIf
EndLoop

Am Anfang jedes Absatzes Heading2 wird eine Querverweismarke eingefügt, deren Markentext dem Absatztext entspricht. Die Abbildung zeigt einen der Absätze mit dem entsprechenden Markentext im Dialogfeld Marke.

FrameMaker-Dialog

Da die Marken mit FrameScript und nicht in der Benutzeroberfläche von FrameMaker erstellt wurden, werden im Folgenden die Markeneigenschaften betrachtet. Um die Markeneigenschaften anzuzeigen, können Sie den folgenden Code ausführen, wenn Sie den Anker der Marke ausgewählt haben. Beachten Sie, dass der Inhalt der Eigenschaft MarkerText genau dem Text im Dialogfeld Marke entspricht.

Get TextList InRange(TextSelection) MarkerAnchor
    NewVar(vTextList);
If (vTextList.Count > 0)
    Get Member Number(1) From(vTextList) NewVar(vMarker);
    Set vMarker = vMarker.TextData;
    Display vMarker.Properties;
Else
    MsgBox 'Keine Marke ausgewählt.    ';
EndIf

Eigenschaften eines Objekts

Hinzufügen der Querverweise

Nun können Sie sich der Tabelle zuwenden und mithilfe eines Skripts den Marken (»Stellen«), die Sie in den vorausgegangenen Schritten eingefügt haben, die entsprechenden Querverweise hinzufügen. Im folgenden Beispiel wird vorausgesetzt, dass sich die Einfügemarke in der Tabelle befindet, bevor der Code ausgeführt wird.

// Prüfen, ob aktives Dokument vorhanden.
If (ActiveDoc = 0)
    MsgBox 'Kein aktives Dokument.    ';
    LeaveSub;
Else
    Set vCurrentDoc = ActiveDoc;
EndIf
// Variable für die aktuelle Tabelle setzen.
Set vTbl = vCurrentDoc.SelectedTbl;
// Sicherstellen, dass sich die Einfügemarke in einer
// Tabelle befindet.
If (vTbl.ObjectName <> 'Tbl')
    MsgBox 'Keine Tabelle ausgewählt.    ';
    LeaveSub; // Skript beenden.
EndIf
// Erste Textzeile der Tabelle suchen.
Set vRow = vTbl.FirstRowInTbl;
Loop While(vRow.RowType = RowHeading)
    Set vRow = vRow.NextRowInTbl;
EndLoop
// Zur ersten Zelle in erster Textzeile wechseln.
Set vCell = vRow.FirstCellInRow;

Die Einfügemarke befindet sich jetzt in der ersten Zelle und die Schleife durch alle Zellen kann beginnen. In jeder Zelle muss der Text »ausgewählt« werden, damit er durch den neuen Querverweis ersetzt werden kann. Die Eigenschaft XRefSrcText des Objekts XRef (also des Querverweises) wird auf den ausgewählten Text gesetzt, denn dieser entspricht genau dem Text der zugehörigen Querverweismarke, die Sie vorher eingefügt haben. Um den Text auszuwählen, wird ein Textbereich erstellt, anschließend wird der Text gelöscht und ein XRef-Objekt eingesetzt.

// Schleife starten.
Loop While(vCell)
    // Text durch Erstellen eines Textbereichs (TextRange)
    // auswählen.
    New TextRange NewVar(vTextRange) Object(vCell.FirstPgf)
        Offset(0) Offset(ObjEndOffset-1);
    // Variable für den TextRange-Text setzen.
    Set vXRefSrcText = vTextRange.Text;
    // Text löschen.
    Delete Text TextRange(vTextRange);
    // Querverweis einfügen.
    New XRef Format('Heading & Page') TextLoc(vCell.FirstPgf)
        NewVar(vXRef);
    Set vXRef.XRefSrcText = vXRefSrcText;
    // Zur nächsten Zelle wechseln und Schleife wiederholen.
    Set vCell = vCell.CellBelowInCol;
EndLoop
// Querverweise aktualisieren.
Update DocObject(vCurrentDoc) XRefs Everything;

In der Tabelle wurde nun der ursprüngliche Text durch die Querverweise ersetzt.

Tabelle mit Anleitungen nach der Bearbeitung

Wenn Sie auf die Querverweise doppelklicken, wird das Dialogfeld Querverweis eingeblendet, wie unten abgebildet.

FrameMaker-Dialog

Das Entscheidende ist, dass die Eigenschaft XRefSrcText des Querverweises exakt mit der Eigenschaft MarkerText der Querverweis-Marke übereinstimmt, da sonst ungelöste Querverweise entstehen. Um die Eigenschaften eines Querverweises anzuzeigen, markieren Sie einen Querverweis und führen Sie den folgenden Code aus. Beachten Sie die Eigenschaft XRefSrcText:

Get TextList InRange(TextSelection) XRefBegin
    NewVar(vTextList);
If (vTextList.Count > 0)
    Get Member Number(1) From(vTextList) NewVar(XRefBegin);
    Set XRefBegin = XRefBegin.TextData;
    Display XRefBegin.Properties;
Else
    MsgBox 'Kein Querverweis ausgewählt.    ';
EndIf

Eigenschaften eines Objekts

Querverweise auf andere Dokumente

Eine weitere wichtige Eigenschaft ist XRefFile. Im Beispiel oben ist diese Eigenschaft eine leere Zeichenfolge, da es sich um einen internen Querverweis handelt. Wenn Sie aber einen Querverweis auf ein anderes Dokument erstellen, dann beinhaltet XRefFile den absoluten Pfad zu der entsprechenden Datei.

Absatz-Querverweise

Bevor das Einfügen von Absatz-Querverweisen genauer besprochen wird, werden zunächst die Unterschiede im Vergleich zu Stellen-Querverweisen in der Benutzeroberfläche von FrameMaker erläutert. Wenn Sie in FrameMaker einen Stellen-Querverweis einfügen, müssen Sie eine Querverweismarke einfügen, bevor Sie den Querverweis erstellen. Sie müssen eine »Stelle« erzeugen, die anschließend im Dialogfeld Querverweis angezeigt wird.

Bei Absatz-Querverweisen müssen Sie dagegen die Querverweismarken nicht im Voraus einfügen. Stattdessen wählen Sie im Dialogfeld Querverweis den gewünschten Absatz aus, klicken auf Einfügen und FrameMaker fügt die Querverweismarken an den entsprechenden Stellen ein.

Wenn die Querverweise einmal eingefügt sind, unterscheiden sich Absatz- und Stellen-Querverweise in ihren grundlegenden Eigenschaften nicht mehr. FrameScript greift auf alle Querverweise über XRef-Objekte zu. Im Dialogfeld Querverweis von FrameMaker werden die beiden Arten von Querverweisen allerdings unterschiedlich dargestellt. Wenn Sie auf einen Stellen-Querverweis doppelklicken, werden im Dialogfeld unter Quelltyp die Querverweismarken und in der Liste auf der rechten Seite der Markentext angezeigt. Wenn Sie auf einen Absatz-Querverweis doppelklicken, werden unter Quelltyp der Absatzformatname des Quellabsatzes und in der Liste auf der rechten Seite der jeweilige Absatztext aller mit dem markierten Absatz-Tag formatierten Absätze angezeigt. Die Abbildung unten zeigt das Dialogfeld Querverweis für einen Absatz-Querverweis.

FrameMaker-Dialog

Der Unterschied zwischen den beiden Arten von Querverweisen besteht in der Syntax der Querverweismarken. Um dies zu verdeutlichen, fügen Sie einen Absatz-Querverweis ein, klicken Sie mit gedrückt gehaltener Strg- und Alt-Taste auf den Querverweis, um die Quelle zu öffnen, und öffnen Sie das Dialogfeld Marke. Nun sehen Sie die Syntax der Marke, die von FrameMaker mit einem Absatz-Querverweis eingefügt wird. Das Beispiel unten zeigt das Dialogfeld Marke und die Eigenschaften des Objekts XRef.

FrameMaker-Dialog
Eigenschaften des Objekts

Wie bei den Marken der Stellen-Querverweise, die Sie weiter oben eingefügt haben, können Sie im Dialogfeld Marke den Absatztext und die Eigenschaft XRefSrcText sehen. Außerdem wird jedem Absatztext eine fünfstellige Zahl (gefolgt von einem Doppelpunkt und einem Leerzeichen) sowie der Formatname des Quellabsatzes (gefolgt von einem Doppelpunkt und einem Leerzeichen) vorangestellt. An diesen beiden zusätzlichen Elementen der Eigenschaft XRefSrcText eines Querverweises »erkennt« FrameMaker, dass es sich um einen Absatz-Querverweis handelt.

Verwenden von eindeutigen Querverweismarken

Es gibt einen weiteren Grund für die unterschiedliche Syntax von Absatz- und Stellen-Querverweisen. Es ist von entscheidender Bedeutung, dass alle Querverweismarken in einem Dokument eindeutig sind. Es dürfen zwar mehrere Querverweise auf dieselbe Marke verweisen, aber jeder Querverweis darf nur auf eine einzige Marke mit demselben Markentext verweisen. Wenn Sie Stellen-Querverweise einfügen, müssen Sie sicherstellen, dass jede Querverweismarke eindeutig ist. Beim Einfügen von Absatz-Querverweisen sorgt die spezielle FrameMaker-Syntax, insbesondere die fünfstellige fortlaufende Nummer, dafür, dass alle eingefügten Marken eindeutig sind.

Möglicherweise glauben Sie, dass FrameMaker anhand des Absatz-Tags in XRefSrcText »erkennt«, welcher Absatz im Dialogfeld Querverweis markiert werden muss, wenn Sie auf den Querverweis doppelklicken. Dies ist aber nicht der Fall. Im Beispiel oben wurde ein Querverweis auf einen Absatz Heading2 eingefügt. Wenn Sie das Verweisziel in einen Absatz Heading1 ändern, wird der Markentext dadurch nicht beeinflusst, aber nach einem Doppelklick auf den Querverweis wird korrekt angezeigt, dass es sich beim Quellabsatz nun um einen Absatz vom Format Heading1 handelt. Ebenso wenig führt eine Änderung im Text des Quell-Absatzes zu einer Änderung des Markentexts.

FrameMaker-Dialog

Dies verdeutlicht einen weiteren wichtigen Aspekt im Zusammenhang mit Querverweisen: Der Markentext darf nach dem Einfügen der Querverweismarke nicht mehr geändert werden. Wenn mehrere Querverweise bereits auf eine Marke verweisen und Sie den Markentext ändern, dann werden diese Querverweise alle zu ungelösten Verweisen.

Bevor nun der eigentliche Code zum Einfügen von Absatz-Querverweisen erläutert wird, finden Sie hier zunächst noch einmal eine Zusammenfassung der wichtigen Punkte, die Sie bei Absatz- und Stellen-Querverweisen berücksichtigen müssen.

  • Der Wert der Eigenschaft XRefSrcText eines aufgelösten Querverweises ist immer eine Zeichenfolge, die exakt mit der Zeichenfolge der Querverweismarke übereinstimmt.
  • Beide Arten von Querverweisen sind in ihrer Funktion identisch. Sie werden lediglich im FrameMaker-Dialogfeld Querverweis unterschiedlich dargestellt.
  • Der Markentext von Querverweisen beider Arten muss innerhalb eines Dokuments immer eindeutig sein.
  • Der Markentext einer Querverweismarke darf niemals nachträglich geändert werden, selbst wenn sich das Absatz-Tag oder der Text innerhalb des Absatzes ändert.

Hinzufügen von Absatz-Querverweisen

Hier wird dasselbe Beispiel wie bei den Stellen-Querverweisen verwendet, aber diesmal fügen Sie die Querverweise und die zugehörigen Marken gleichzeitig ein. Im vorherigen Beispiel haben Sie zunächst alle Marken eingefügt und anschließend die Querverweise. Dabei wurde angenommen, dass es im Dokument zu jedem Eintrag in der Tabelle einen Absatz Heading2 mit exakt demselben Wortlaut gibt. Darauf können Sie sich aber nicht immer verlassen, und daher besteht die Gefahr von ungelösten Querverweisen.

Beginnen Sie zunächst mit der Schleife durch die Tabelle. Nachfolgend finden Sie den gesamten Code.

// Prüfen, ob aktives Dokument vorhanden.
If (ActiveDoc = 0)
    MsgBox 'Kein aktives Dokument.    ';
    LeaveSub;
Else
    Set vCurrentDoc = ActiveDoc;
EndIf
// Variable für die aktuelle Tabelle setzen.
Set vTbl = vCurrentDoc.SelectedTbl;
// Sicherstellen, dass sich die Einfügemarke in einer
// Tabelle befindet.
If (vTbl.ObjectName <> 'Tbl')
    MsgBox 'Keine Tabelle ausgewählt.    ';
    LeaveSub; // Skript beenden.
EndIf
// Eigenschaftsliste für die Farbe Rot erstellen.
Get Object Type(Color) Name('Red') DocObject(vCurrentDoc)
    NewVar(vColor);
New PropertyList NewVar(vProps) Color(vColor);
// Erste Textzeile der Tabelle suchen.
Set vRow = vTbl.FirstRowInTbl;
Loop While(vRow.RowType = RowHeading)
    Set vRow = vRow.NextRowInTbl;
EndLoop
// Zur ersten Zelle in erster Textzeile wechseln.
Set vCell = vRow.FirstCellInRow;
// Schleife starten.
Loop While(vCell)
    // Text durch Erstellen eines Textbereichs (TextRange)
    // auswählen.
    New TextRange NewVar(vTextRange) Object(vCell.FirstPgf)
        Offset(0) Offset(ObjEndOffset-1);
    // Variable für den TextRange-Text setzen.
    Set vXRefSrcText = vTextRange.Text;
    // Subroutine ausführen, die nach der entsprechenden
    // Überschrift sucht.
    Set vHeadingFound = 0;
    Run FindSourceHeading Returns vMarkerText(vXRefSrcText);
    If (vHeadingFound = 1)
        // Text löschen.
        Delete Text TextRange(vTextRange);
        // Querverweis einfügen.
        New XRef Format('Heading & Page') TextLoc(vCell.FirstPgf)
            NewVar(vXRef);
        Set vXRef.XRefSrcText = vXRefSrcText;
    Else
        // Wenn die entsprechende Überschrift nicht gefunden wird,
        // dann den Text rot hervorheben.
        Apply TextProperties TextRange(vTextRange)
            Properties(vProps);
    EndIf
    // Zur nächsten Zelle wechseln und Schleife wiederholen.
    Set vCell = vCell.CellBelowInCol;
EndLoop
// Querverweise aktualisieren.
Update DocObject(vCurrentDoc) XRefs Everything;

Für jeden Eintrag in der Tabelle wir die Subroutine FindSourceHeading gestartet, die das Dokument nach der entsprechenden Überschrift durchsucht. Wenn keine Überschrift mit demselben Wortlaut gefunden wird, dann wird der Text der Tabellenzelle rot hervorgehoben, damit Sie leichter feststellen können, dass ein Problem aufgetreten ist. Im Folgenden finden Sie den Code der Subroutine.

Sub FindSourceHeading
//
Loop ForEach(Pgf) In(vCurrentDoc) LoopVar(vPgf)
    If (vPgf.Name = 'Heading2')
        // Prüfen, ob der Text im Absatz mit dem Text in der 
        // Tabellenzelle übereinstimmt.
        If (vPgf.Text = vXRefSrcText)
            // Markentext in der Syntax eines Absatz-Querverweises
            // erstellen.
            // Eindeutige Absatz-ID einlesen und diese in eine 
            // Zeichenfolge umwandeln.
            New String NewVar(vMarkerText) Value(vPgf.Unique);
            // Erstes Zeichen Löschen, um 5 Stellen zu erhalten.
            Get String FromString(vMarkerText) NewVar(vMarkerText)
                StartPos(vMarkerText.Size - 4);
            // Absatz-Tag und Text hinzufügen.
            Set vMarkerText = vMarkerText + ': ' + vPgf.Name + ': ' 
                + vPgf.Text;
            // Querverweismarke hinzufügen.
            New Marker NewVar(vMarker) MarkerName('Cross-Ref')
                TextLoc(vPgf);
            // Absatztext dem Markentext zuweisen.
            Set vMarker.MarkerText = vMarkerText;
            // Variable vHeadingFound auf 1 setzen.
            Set vHeadingFound = 1;
            // Subroutine verlassen.
            LeaveSub;
        EndIf
    EndIf
EndLoop
//
EndSub

Dieser Code ist dem früheren Skript zum Einfügen der Marken für die Stellen-Querverweise sehr ähnlich. Es handelt sich um eine einfache Schleife durch die Absätze im Dokument, um nach Absätzen des Formats Heading2 zu suchen. Zusätzlich wird überprüft, ob der Text im Absatz dem Text in der Tabellenzelle entspricht.

Erstellen des Markentexts

Sobald eine Übereinstimmung zwischen dem Text in der Tabellenzelle und einer Überschrift gefunden wird, erstellt das Skript eine Zeichenfolge, die als Markentext der Marke verwendet wird, sowie den XRefSrcText des Querverweises. Die Zeichenfolge muss mit einer eindeutigen 5-stelligen Zahl beginnen. Fast alle Objekte in FrameMaker besitzen die Eigenschaft Unique, bei der es sich um eine fortlaufende Integer-Zahl handelt, die für jedes Objekt desselben Typs eindeutig ist. Wenn Sie sich die Screenshots für Querverweise weiter oben ansehen, werden Sie feststellen, dass auch diese Querverweise die Eigenschaft Unique besitzen. Geben Sie folgenden Code in das Skriptfenster ein, setzen Sie die Einfügemarke in einen Absatz, und klicken Sie auf die Schaltfläche Run.

Set vPgf = TextSelection.Begin.Object;
Display vPgf.Unique;

Die Eigenschaft Unique ist normalerweise länger als 5-stellig, aber in jedem Fall mindestens 5-stellig. Der folgende Code aus der Subroutine wandelt die Zahl in eine Zeichenfolge um und löscht das erste Zeichen. Dieser Code funktioniert auch, wenn Unique 5-stellig ist.

New String NewVar(vMarkerText) Value(vPgf.Unique);
// Erstes Zeichen Löschen, um 5 Stellen zu erhalten.
Get String FromString(vMarkerText) NewVar(vMarkerText)
    StartPos(vMarkerText.Size - 4);

Beachten Sie, dass durch das Löschen des ersten Zeichens eine geringe Gefahr besteht, dass sich dadurch eine Zahl ergibt, die bereits einem anderen Absatz zugewiesen ist. Aber selbst wenn dies passieren sollte, so würde dennoch jeder Unterschied im Absatztext den Markentext eindeutig werden lassen. Die nächste Zeile fügt der Zahl das Absatz-Tag und den Text hinzu und fügt Doppelpunkte und Leerzeichen an den korrekten Stellen ein.

// Absatz-Tag und Text hinzufügen.
Set vMarkerText = vMarkerText + ': ' + vPgf.Name + ': ' +
    vPgf.Text;

Am Ende fügt die Subroutine eine Querverweismarke ein und setzt die Variable vHeadingFound auf 1. Diese Variable meldet dem Code nach Aufruf der Subroutine zurück, dass die korrekte Überschrift gefunden und die Querverweismarke eingefügt wurde. Beachten Sie die Anweisung LeaveSub: Sobald die korrekte Überschrift gefunden wurde, muss die Schleife nicht mehr fortgesetzt werden.

Der Code-Abschnitt im Anschluss an den Aufruf der Subroutine prüft, ob die Überschrift gefunden wurde. Wenn ja, wird der Text gelöscht und stattdessen der Querverweis eingefügt.

Set vHeadingFound = 0;
Run FindSourceHeading Returns vMarkerText(vXRefSrcText);
If (vHeadingFound = 1)
    // Text löschen.
    Delete Text TextRange(vTextRange);
    // Querverweis einfügen.
    New XRef Format('Heading & Page') TextLoc(vCell.FirstPgf)
        NewVar(vXRef);
    Set vXRef.XRefSrcText = vXRefSrcText;

Wenn keine zugehörige Überschrift gefunden wurde, bleibt der Wert der Variablen vHeadingFound auf 0 und der Else-Block wird ausgeführt. Dieser formatiert den entsprechenden Text in der Tabellenzelle rot, damit Sie sofort sehen, dass keine übereinstimmende Überschrift gefunden wurde.

Else
    // Wenn die entsprechende Überschrift nicht gefunden wird,
    // dann den Text rot hervorheben.
    Apply TextProperties TextRange(vTextRange)
        Properties(vProps);
EndIf

Im Folgenden finden Sie einen Screenshot der Beispielprozedur nach Ausführung des Skripts. Eine der Überschriften wurde geändert, um zu verdeutlichen, wie das veränderte Ergebnis aussieht, falls eine Überschrift nicht gefunden wurde.

Tabelle mit einer nicht gefundenen Überschrift

Durch einen Doppelklick auf einen der Querverweise können Sie feststellen, dass FrameMaker diesen als Absatz-Querverweis interpretiert.

FrameMaker-Dialog

April 2009, Michael Müller-Hillebrand

2 Antworten zu Querverweise einfügen

  1. baxter sagt:

    Hallo,
    mich würde interessieren, wie man die Element-Querverweise umsetzen kann. Ich würde gerne eine Methode kennen, wie man Marker-Elemente an einer bestimmten Stelle einfügen und mit einem Marker-Text innnerhalb des Elements versehen kann.
    Vielen Dank im Voraus 😉

  2. Der erste Teil Ihrer Frage (Element-Querverweise) würde den Rahmen eines Kommentars sprengen.

    Sie brauchen zwei Befehle, um Marken-Elemente samt Marken-Text einzufügen:

    New Element NewVar(lvElem) TextLoc(lvTL) 
        ElementDefName('Marker');
    

    Wenn Ihr Element für Marken „Marker“ heißt, wird hiermit ein Element samt enthaltener Marke erstellt. in der Variable lvElem befindet sich die Referenz auf das Element.

    Set lvMarke = lvElem.Object;
    Set lvMarke.MarkerText = lvTextDerMarke;
    

    Über .Object erhalten Sie aus dem Element das FrameMaker-Object, die Marke, und dessen Eigenschaft MarkerText können Sie dann setzen.

Kommentare sind geschlossen.