Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
WP Get elements

WP Get elements 


 

WP Get elements ( targetObj {; elementType} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
targetObj  Objekt in Range, Element oder 4D Write Pro Dokument
elementType  Lange Ganzzahl in Gewünschter Typ des gesuchten Elements
Funktionsergebnis  Collection in Collection mit Referenzen auf Elemente

Die Funktion WP Get elements gibt eine Collection von Objekten mit Absätzen, Bildern, Tabellen bzw. Zeilen zurück.

Im Parameter targetObj übergeben Sie:

  • "Range" oder
  • Element (Tabelle, Zeile, Absatz, Kopf-, Haupt-, Fußteil, Abschnitt, Unterabschnitt, Textfeld) oder
  • 4D Write Pro Dokument

Wenn ein typisierter Range bzw. Element übergeben wird, gibt die Funktion eine Collection zurück, die nur Elemente des entsprechenden Typs enthält (es sei denn, Sie geben mit dem Parameter elementType einen Typ an, siehe unten). Sonst gibt sie eine Collection mit allen in targetObj verfügbaren Elementen an.

Optional können Sie im Parameter elementType die Elementtypen angeben, die in der Collection zurückgegeben werden sollen. Es gibt folgende Typen:

Konstante Wert Kommentar
wk type default 0 Standardtyp Range (Wert für wk type)
wk type image 2 Verankertes Bild (Wert für wk type)
wk type image anchored 200 Referenz verankertes Bild für Dokument Objekte
wk type image inline 100 Referenz Bild im Textfluss für Dokument Objekte
wk type paragraph 1 Rangetyp Absatz (Wert für wk type)
wk type table 4 Referenz Tabelle (Wert für wk type)
wk type table row 5 Referenz Tabellenzeile (Wert für wk type)
wk type text box 300

Textfeld (Wert für wk type)

 

Hinweise:

  • Mit dem Selektor wk type default gibt die Funktion eine ungefilterte Collection zurück.
  • Mit den Selektoren wk type paragraph, wk type image oder wk type table enthält die zurückgegebene Collection nur Elemente des angegebenen Typs, selbst wenn er sich vom Typ unterscheidet, der im Parameter elementType angegeben ist.
  • Ist ein Element im Range, übergeben in targetObj, nur teilweise enthalten, wird das ganze Element im Ergebnis übernommen. Enthält der Range beispielsweise einen Teil und nicht die komplette Tabelle, wird die Referenz auf die komplette Tabelle zurückgegeben, jedoch sind nur die Zellenreferenzen (Absatz) innerhalb des Range enthalten.
  • Wenn Sie wk type text box im Parameter elementType übergeben, kann targetObj nur ein 4D Write Pro Dokument enthalten. Wenn Sie in diesem Fall in targetObj etwas anderes als ein Dokumentobjekt übergeben, wird ein Fehler zurückgegeben.

Die Elemente in der zurückgegebenen Collection werden je nach dem Inhalt in targetObj unterschiedlich sortiert:

  • Haben Sie in targetObj einen "Range" oder ein Element (Absatz, Tabelle, Kopf-, Fuß-, Hauptteil …) übergeben, werden Elemente in der Collection in derselben Reihenfolge zurückgegeben, wie sie im Dokument erscheinen (in der gleichen Reihenfolge, wie sie im Dokument erscheinen)
  • Haben Sie in targetObj ein 4D Write Pro Dokument übergeben, werden Elemente in der Collection nach ihrer ID sortiert, da alle Bereiche des Dokuments zurückgegeben werden (außer verankerte Bilder, wenn die Konstante wk type image anchored verwendet wird; in diesem Fall werden sie in z-Reihenfolge sortiert). 

Wollen Sie z.B. die Hintergrundfarbe für Absätze im Hauptteil eines Dokuments abwechseln, müssen Sie in targetObj das Element Hauptteil übergeben und nicht das Dokument, damit die Reihenfolge der Elemente der Reihenfolge der Absätze im Dokument entspricht.

Eine Collection mit allen Absätzen in einem Dokument zurückgeben:

 C_COLLECTION($docElements)
 $docElements:=WP Get elements($myDoc;wk type paragraph)
  //gibt eine Collection zurück, die nur die Elemente vom Typ Absatz enthält

 Ausrichtung und Farbe der Absätze in einem Dokument abwechselnd verwenden:

 C_COLLECTION($col)
 C_OBJECT($obj)
 C_OBJECT($body)
 C_LONGINT($i;$n)
 $col:=New collection
 $body:=WP Get body(myDoc)
 $col:=WP Get elements($body;wk type paragraph)
 $i:=0
 $n:=$col.length
 For($i;0;$n-1)
    $obj:=$col[$i]
    WP RESET ATTRIBUTES($obj)
    WP SET ATTRIBUTES($obj;wk font bold;wk false)
    WP SET ATTRIBUTES($obj;wk font italic;wk false)
    If($i%2=0)
       WP SET ATTRIBUTES($obj;wk text align;wk left)
       WP SET ATTRIBUTES($obj;wk font bold;wk true)
       WP SET ATTRIBUTES($obj;wk text color;"#804040")
       WP SET ATTRIBUTES($obj;wk margin right;"5cm")
       WP SET ATTRIBUTES($obj;wk margin left;"1cm")
    Else
       WP SET ATTRIBUTES($obj;wk text align;wk right)
       WP SET ATTRIBUTES($obj;wk font italic;wk true)
       WP SET ATTRIBUTES($obj;wk text color;"#404020")
       WP SET ATTRIBUTES($obj;wk margin left;"5cm")
       WP SET ATTRIBUTES($obj;wk margin right;"1cm")
    End if
 End for



Siehe auch 

WP Get breaks
WP Get element by ID
WP Table range

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Write Pro Programmiersprache
Nummer: 1550

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v17
Geändert: 4D v17 R3
Geändert: 4D v19 R8

 
ARTIKELVERWENDUNG

4D Write Pro Handbuch ( 4D v20 R7)