セクションごとに異なる背景が必要ですか?セクションごとに異なる余白は?セクションごとに異なるカラム数はどうでしょうか?これら全てをコードで行いたいですか?
4D v17 R3では、セクションをコードで操作して、複雑で美しいドキュメントを作成することができます!
セクションとサブセクション
セクションを使うと、同じドキュメントに異なるレイアウトを持たせることができます。例えば、セクションごとに、異なる用紙サイズと方向、異なるマージン、コラムの使用、異なるヘッダーとフッターなどを定義することができます。
セクションは、サブセクションを含むことができます。サブセクションには、先頭ページ、左ページ、右ページの3種類があります。たとえば、パンフレットでは、タイトルとページ番号を外側の端に揃えたいので、左ページには左、右ページには右を指定します。
現在のセクションまたはすべてのセクションを取得する
新しいコマンドを使えば、文書内のセクションのコレクションを取得することができます。 WP Get sections.
C_COLLECTION(wpSections)
wpSections :=WP Get sections(wpDoc)
また、選択範囲(範囲または要素)と交差する最初のセクションへの参照は、コマンドで取得することができます。 WP Get section.
C_OBJECT(wpSection)
wpSection :=WP Get section(WP Get selection(wpDoc))
特定のセクションの属性を更新する
セクションを取得できるようになったので、特定のセクションやその内容の属性を変更するのが非常に簡単になりました。セクションの参照を WP SET ATTRIBUTESと WP GET ATTRIBUTES コマンドにセクションの参照を渡すだけです。
たとえば、現在のセクションに3列のカラムが欲しい場合は、次のように書きます。
WP SET ATTRIBUTE(wpSection;wk column count;3)
コードによるサブセクションの作成
newコマンドを使えば、コードでサブセクションを作成することができます。 WP Create subsection.
左ページのサブセクションを作るには、次のようにします。
$subSection:=WP Create subsection(wpSection;wk left page)
サブセクションの参照で、サブセクションのヘッダーやフッターにアクセスし、その属性を変更することができます。これは、セクションと似ています。
たとえば、ヘッダーのテキストを左揃えにするには、次のようにします。
$header:=WP Get header($subSection)
WP SET ATTRIBUTES ($header;wk text align;wk left)
左のサブセクションを作成すると、右のサブセクションも自動的に作成されます。右のサブセクションへの参照は WP Get subsectionコマンドで取得できます。
右ページで、ヘッダーのテキストを右寄せにする場合。
$subSection:=WP Get subsection(wpSection;wk right page)
$header :=WP Get header($subSection )
WP SET ATTRIBUTES (
$
header ;
wk text align;wk right)