Procedure オブジェクトで視覚的出力を生成する必要がある場合は、表示するデータおよび出力形式を定義するために、プロシージャーの [
Layout ] エレメントにアクセスする必要があります。
既定では、 [
Layout ] エレメントには最初の
printblock (名前: printBlock1) が含まれています。この printblock は空で使用可能な状態です。この printblock 内に、表示するデータを含めることができます。
Travel Agency で取り扱うすべての航空会社を一覧表示するために、プロシージャーを定義する必要があるとします。
プロシージャーの [
Layout ] は 1 つまたは複数の printblock (出力に必要な順序に必ずしも対応している必要はありません) で構成されるため、(
Print コマンドを使用して)
プロシージャーのソースから参照する名前を各 printblock に指定する必要があります。
この例では、最初の printblock に、ロゴ、タイトル、現在の日付および時刻、ページ番号、ラベル (タイトルおよび 1 つの行を含む) を含めます。それでは、printblock 内にこれらのコントロールを挿入して、名前を "Pb_Header" に変更してみましょう (printblock の [
Name ] プロパティを変更します)。
"Pb_Header" printblock に追加されたエレメントに注目してください。ほとんどのアクションは、このセクションで使用可能なツールボックスからの
ドラッグ アンド ドロップで実行されました。
また、コントロールのプロパティの設定も行いました。
ロゴを挿入する場合について具体的に説明すると、ツールボックスから printblock に [
画像 ] アイコンをドラッグすると、いくつかのオプション (ファイルからの画像のインポートなど) を提供するダイアログが開きます。
メニューバーから [ 追加 ] > [ 変数... ] を選択するか、ツールボックスから [
項目属性/変数 ] コントロールをドラッグ アンド ドロップすると、&Date、&Time、&Page などのシステム変数を挿入できます。
printblock の挿入は非常に簡単です。そのためには、特定の printblock を右クリックして、コンテキストメニューから [
プリントブロックを挿入 ] オプションを選択します。このアクションによって、既存の printblock の下に新しい printblock が挿入されます。
次の図を参照してください。 [ Layout ] エレメントに 2 番目の printblock が挿入され、AirlineId 項目属性と AirlineName 項目属性がそこに追加されています。
printblock の
位置を変更するには、コンテキストメニューの [
上位へ移動 ] オプションおよび [
下位へ移動 ] オプションを使用します。
複数のコントロールを一度に配置する場合 (または同じサイズにする場合)、Ctrl (または Shift) キーを押しながら希望するコントロールをクリックして選択します。最後に選択したコントロール (選択ノードが太字で表示されます) は、該当アクションの参照コントロールとなります。続いて、右クリックしてコンテキストメニューから必要なオプションを選択すれば完了です。
構造化データタイプに基づく変数を任意の printblock に挿入することもできます。この変数を printblock に挿入するためのオプションはほかの変数の場合と同じです。ダイアログが開いて、printblock に含めるメンバーを選択できます。メンバーごとに 1 つのコントロールが挿入され、 [
FieldSpecifier ] プロパティ (必須) を使用して表示するコレクションの位置を設定します。
プロシージャーのロジックは
プロシージャーのソースに記述されます。
プロシージャーの [ Layout ] に定義した printblock は、
Print コマンドを使用して呼び出す必要があります。
次の点に注目してください:
- For Each コマンドは、Airline テーブルをナビゲートするためにプロシージャーで使用されます。また、スキャンしたデータを印刷するために、一方の printblock がコマンド内で参照されます。
- 各ページの最上部に印刷するために、もう一方の printblock が Header コマンド内で参照されます。
レイアウトのプロパティ
レイアウトのウィンドウの左上の矢印をクリックすると、別の
プロパティ (用紙の高さ、幅、向きなど) にアクセスできます。
注
ほとんどの場合、
レイアウトを指定したプロシージャーは、PDF の出力を印刷するために定義されます。そのため、シンプルな
要件をオブジェクトに対して設定する必要があります。
参考情報
Print コマンドのまとめ