4D Write Proでプログラム的に要素にアクセスする。

Deeplからの自動翻訳

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(wpDoc)

// Returns all table elements of the document
$allTables :=WP Get elements(wpDoc;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")

Roland Lannuzel
- プロダクトオーナー&4Dエキスパート -電子工学を学んだ後、産業用ITの分野で開発者兼コンサルタントとして、さまざまなデータベースやテクノロジーを使って顧客のためのソリューションを構築。80年代後半に4Dに惚れ込み、会計、請求書作成、メールシステムなどのビジネスアプリケーションの作成に4Dを使用してきました。現在も、新機能やデータベース開発ツールの定義など、4Dの未来を積極的に切り開いています。