4D Write Proは、ますます多くのプログラミング機能を提供し続けます!例えば、既存の4D Write Pro文書内の表、段落、画像のスタイルをプログラムで変更したいとしましょう。4D v17 を使えば、それが可能になります!これで、プログラミングによって、ドキュメントの任意の要素や部分にアクセスすることができます。これらのパーツは要素と呼ばれ、コレクションとして WP Get elements関数でコレクションとして、または単一の要素として返されます。 WP Get element by ID 関数で単一の要素として返されます。
要素集
この WP Get elementsコマンドは、あらゆるタイプの要素 (段落、表、画像など) のコレクションを返します。型付き範囲や参照が渡された場合、コマンドは対応する型の要素だけを含むコレクションを返します(2番目のパラメータで指定されていない場合)。そうでなければ、コマンドは、タイプに関係なく、利用可能なすべての要素を含むコレクションを返します。
例えば
- 最初のパラメータが特定の型の範囲 (たとえば段落の範囲) である場合、返される要素も段落になります。
- 最初のパラメータが特定のものでない場合 (文書全体または異種の範囲)、 返される要素は最後のパラメータ (オプション) でフィルタリングすることができます。
// Returns all elements of the document
$allElements$paragraphCol
:=WP Get elements( )
// Returns all table elements of the document
$allTables :=WP Get elements( ;wk type table)
// Returns all paragraphs of the range
:=WP Get elements($paragraphRange)
// Returns all paragraphs of the table range
$paragraphCol:=WP Get elements($tableRange;wk type paragraph)
// Returns all the tables of the given range
$someTableCol:=WP Get elements($customRange;wk type table)
一度作成されたコレクションは、その後、パースすることができます。各要素は、コマンドのパラメータとして使用できるオブジェクトです。 WP SET ATTRIBUTES.
シングルエレメント
この WP Get element by IDコマンドは、1つの要素にアクセスすることができます。4D Write Proのドキュメントでは、いくつかの要素はデフォルトのIDを持っています(画像やテーブルなど)。これらのIDは、存在する場合は変更することができ、存在しない場合は作成することができます。それを知ると、このコマンドの動作は非常にわかりやすく、 与えられたIDのための単一の要素を返します!
要素を取得したら、以下のように操作することができます。
$element:=WP Get element by ID(myDoc; "Table1")
。
WP SET ATTRIBUTES ($element;wk border style;wk solid)
WP SET ATTRIBUTES ($element;wk border width; "4px")
WP SET ATTRIBUTES ($element;wk border color; "blue")