4D Write Pro テンプレートにヘッダーとフッターを付けて、このテンプレ ートに基づいて他のドキュメントを作成する機能を提供して欲しいという 要望を、お客様から何度かいただきました。4D v16 R5では、この機能を利用することができます。
4D Write Proに新しいコマンド群が追加され、このニーズを満たすことができます。これらのコマンドのいくつかは、ドキュメント内のヘッダー、ボディ、フッターの参照を取得するために使用することができます。その他は、現在カーソルがあるフレーム(ヘッダー、フッターなど)の参照を取得したり、カーソルを特定のフレームに設定したりするのに便利です。
ヘッダー、フッター、ボディへの参照を取得する
新しい4Dコマンド WP Get header, WP Get body と WP Get footer– が追加され、開発者がドキュメントや特定のセクションのヘッダーやフッターへの参照を取得できるようになりました。
これらの参照は、関連する範囲の取得、ドキュメントの作成などに利用できます。最終的な目標は、任意のフレームの内容を(全部または部分的に)コピーし、同じドキュメントの他のフレームや、他の新規または既存のフレーム内に貼り付けることです。
コードサンプル
// Get the header from a template and put it in the header of the main document
$source:=WP Get header(mytemplate;1)// first section
$rangeSource :=WP Get range($source;wk start text;wk end text)
$tempoc :=WP New($rangeSource)
$target :=WP Get header(myDocument;1)// first section
$rangeTarget :=WP Get range($target;wk start text;wk end text)
WP INSERT DOCUMENT (
$rangeTarget;$tempoc;wk replace)
カーソルを特定のフレームに移動させる
プログラミングで複雑な文書を作成する際、ある情報をまずヘッダーに、次にフッターに、そして最後に本文に戻したいと思うことがあるかもしれません。このような場合、カーソルを特定のフレームに移動させる機能が必要になります。
コマンドは WP Get frameコマンドは、現在カーソルがあるフレームへの参照を取得するために使用します:header, first header, body, first footer, etc.この WP SET FRAMEコマンドは、その逆の働きをします。このコマンドは、ドキュメントにフレームが存在する限り、カーソルを特定のフレーム 内に配置します。
コードサンプル
例えば、カーソルをメインヘッダーに移動させたいとします。
WP SET FRAME(*; "WParea";wk current section default header)
ユーザーがヘッダーまたはフッターにカーソルを設定したことを確認したい場合。
$frame:=WP Get frame(*; "WParea")
If ($frame=wk body)
ALERT ("Please select a footer or a header")
End if