Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Sie befinden sich hier: EEC > Office > Parametersequenzen und Kontrollstrukturen > Kontrollstrukturen im Fließtext > LOOP

LOOP

Die LOOP-Kontrollstruktur dient dazu, über eine Sammlung aus Fragmenten zu iterieren und dabei für jedes Element den, durch LOOP umschlossenen Teil des Dokuments erneut einzufügen, sowie eventuell vorhandene, zu LOOP gehörende Kommandos auszuführen.

Wie die IF-Kontrollstruktur, so besteht auch LOOP aus zwei Teilen, die einen Bereich des Dokuments umschließen. Eine LOOP-Kontrollstruktur beginnt mit (*{LOOP:<Collection>}*), wobei <Collection> eine Formel ist, deren Ergebnis eine Sammlung aus Fragmenten sein muss. Das Ende der LOOP-Kontrollstruktur wird mit der Anweisung (*{END_LOOP}*) markiert (siehe auch Collections (Sammlungen von Objekten)).

Alles, was innerhalb der LOOP-Kontrollstruktur steht, wird für jedes Element in der Collection in das Zieldokument eingefügt. Hierbei wird der Text zwischen den LOOP-Kontrollstrukturen mit allen Zeilenumbrüchen, Formaten, etc. so wieder eingefügt.

Die Grenzen bilden hierbei:

Innerhalb der LOOP-Kontrollstrukturen zählen auch Zeilenumbrüche, Seitenumbrüche etc. als Zeichen. Somit bleiben alle Absätze, Formatierungen, Zeilenumbrüche, Absätze, etc. exakt erhalten und werden für jedes Element der Liste repliziert.

Das Verhalten ist mit folgender manueller Operation vergleichbar:

Der Bereich, den die LOOP-Kontrollstruktur umschließt, wird markiert und in die Zwischenablage kopiert, der Cursor anschließend direkt an den Beginn der (*{END_LOOP}*) Struktur positioniert und der Inhalt der Zwischenablage eingefügt. Dies geschieht einmal pro Element in der Collection. Abschließend werden die (*{LOOP: <Collection>}*) und (*{END_LOOP}*) Strukturen aus dem Text gelöscht, ohne dabei Absatzgrenzen, Zeilenumbrüche oder sonstige strukturelle Formatierungen zu verändern.

Bei einer leeren Collection verbleibt der eingeschlossene Bereich nicht im Dokument, sondern wird, wie bei einer IF-Struktur mit negativer Prüfung, rückstandslos aus dem Dokument entfernt.

Neben der Möglichkeit, gleichbleibenden Text mehrfach zu wiederholen, können auch Fragmente in das Zieldokument eingefügt werden. Hierfür muss innerhalb der LOOP-Kontrollstruktur eine (*{Content}*) Kontrollstruktur eingebaut werden. Für diese Kontrollstruktur wird, für jedes Element innerhalb der Collection, der jeweilige Inhalt des Fragments eingefügt. Hierbei werden keine zusätzlichen Zeilenumbrüche, Absätze oder ähnliche Formatierungen erzeugt.

Bei Fragmenten mit einem Absatz wird die Formatierung des ersten Zeichens der (*{Content}*) Kontrollstruktur übernommen. Dies beinhaltet sowohl einfache Formatierungen wie fett, kursiv oder unterstrichen, wie auch eine Formatvorlage.

Sind im Fragment mehrere Absätze enthalten, wird für den ersten Absatz die Formatierung des ersten Zeichens der (*{Content}*) Kontrollstruktur verwendet. Alle weiteren Absätze verwenden die Formatvorlage aus dem Fragment. Fehlt die jeweilige Formatvorlage im Zieldokument, wird diese dort als Kopie eingefügt.

Neben ganzen Dokumenten, kann mittels (*{<Formel>}*) eine Formel im Kontext des jeweils aktiven Objekts innerhalb von LOOP ausgewertet werden und das Ergebnis als Textform in das Hauptdokument eingebaut werden. Die Formatierung des ersten Zeichens der (*{<Formel>}*) Kontrollstruktur wird hierbei für den gesamten Inhalt verwendet.