アプリケーションの設計


連絡先印刷用のフォームを設計する
連絡先印刷には、ユーザーが任意のフォームを選択する印刷方法や、複数の文書を印刷するための用紙分割方法などが含まれます。たとえば、用紙に複数の名前やアドレス (一覧) を印刷し、1 枚の用紙に 20 枚のラベルを印刷するといったセクションを作成するオプションを選択できます。アプリケーションで連絡先印刷をユーザーが利用できるようにするには、設計者は連絡先印刷用のフォームを作成し、有効にする必要があります。

連絡先印刷用のフォームを作成し、有効にする

1 Domino Designer でフォームを作成してから、レイアウトやフォームの内容を定義します。

2 [設計] - [フォームのプロパティ] を選択します。

3 [フォーム情報] タブで、フォームに名前を付けてから [印刷に含む] チェックボックスをオンにして、連絡先印刷用のフォームを有効にします。他の表示オプションのチェックボックスはオンにしないことをお勧めします。


4 [フォームのプロパティ] ダイアログボックスを閉じます。

5 以下の表に一覧表示されているすべての予約フィールドを、手順に従って作成します。フィールドはフォーム上であればどこでも配置できますが、一般的にはフォームの一番下に配置して、フォーム本体と区別できるようにします。


6 予約フィールドごとに、次の操作を行います。 7 [フィールドのプロパティ] ダイアログボックスを閉じます。

8 予約フィールドごとに、プログラムペインのオブジェクトペインへ移動し、作成したフィールドの名前を検索して [値] を選択します。スクリプトエリアをクリックして、適切な値を入力します。値は引用符で囲みます。予約フィールドごとに入力可能な値については、次の表を参照してください。
一覧印刷の予約フィールド
予約フィールド名説明および値
$SectDataName分割方法の名前を入力して、その名前を引用符で囲みます (例: "2 x 7 Labels, 1-1/3 x 4 in")。値として入力する名前は、Lotus Notes 6 の [ビューの印刷] ダイアログボックスの [文書スタイル] タブの分割方法 (または用紙の種類) に表示される名前と同じものです。この名前は、フォームのエラーメッセージにも表示されます。

分割方法には複数のエントリを含めることができますが、エントリごとにコロンで区切る必要があります (例: "2 x 10 Labels, 1 x 4 in" : "3 x 10 Labels, 1 x 2-5/8 in")。分割方法に複数のエントリが含まれる場合、その他の連絡先印刷の予約フィールド ($SectDataOptions を除く) に同数のエントリが必要です。

$SectDataOptions一覧印刷のオプションを選択するか、間に文字のない二重引用符 ("") を指定して値を空白のままにしておきます。

複数のオプションをスペースで区切ります (例: "Debug Inches")。このフィールドの場合のみ、他の一覧印刷の予約フィールドとエントリ数が一致している必要はありません。

次のオプションのみ有効です。

  • Fullsheet -- 分割印刷が無効になり、用紙全体が 1 つのセクションとみなされます。文書ごとに作成された一覧の内容やレイアウトはフォームにより異なります。このオプションは印刷のマージに使用するとよいでしょう。一般的に、印刷ヘッダー、印刷フッター、およびページ設定は一覧印刷では無視されますが、[Fullsheet] オプションを選択すると、通常の印刷ヘッダー、印刷フッター、およびページ設定が出力されます。[Fullsheet] オプションを指定すると、次の 4 つの予約フィールドは無視されます。
  • Debug -- このオプションを選択すると、印刷セクションごとの境界線と印刷セクション内の余白が四角形で囲まれます。このオプションを使うと、各セクションが用紙のどの部分に印刷されるか、またはセクションの余白が用紙のどの部分にあるかを把握できるため、分割方法ごとにデータをデバッグできます。このオプションでは、ラベル印刷もプレビューできます。
  • Centimeters -- [$SectDataWidthAndHeight]、[$SectDataInnerMargins]、および [$SectDataOriginXandY] の値が、デフォルトの 1/1000 インチではなく 1/100 cm とみなされます。つまり、このオプションを選択すると、値の単位がメートル法に変わるということです。
  • Inches -- [$SectDataWidthAndHeight]、[$SectDataInnerMargins]、および [$SectDataOriginXandY] の値が、1/1000 インチとみなされます。これは既定です[$SectDataOptions] の値がインチと cm の両方で表示されている場合、最後 (右) の表示が優先されます。
  • Relaxrowsandcols -- [$SectDataRowsAndCols] で指定した行数と列数を調べ、必要に応じて実際の用紙に最適な行数と列数に調整します。このオプションが指定されていない場合、実際の用紙に最適な行数と列数でなくても、[$SectDataRowsAndCols] で指定した行数と列数がそのまま出力されます。
$SectDataRowsAndColsこのフィールドの値は、常に 2 つのオプションが空白で区切られます。次に例を示します。"7 2." 1 番目のオプションは行数、2 番目のオプションは列数を示します。両方とも 1 以上でなければなりません。他のフィールド内に 2 つのエントリがある場合は、このフィールドにも 2 つのエントリが必要です。次に例を示します。 "10 2" : "10 3"

メモ この予約フィールド (およびその他の予約フィールド) では、次のことを行います。

  • 項目ごとに取得するオプション数よりも実際のオプション数が少ない場合、残りのオプションはゼロ (0) とみなされます。オプションが指定されていない場合は、すべてのオプションが「0」とみなされます。オプションが余分に指定されている場合、余分なオプションは無視されます。
  • たとえば、用紙 1 枚に対してセクションが 1 つのみという分割印刷の方法を指定した場合、「"1 1"」と指定します。[Fullsheet] オプションを指定した場合、二重引用符 ("") で示される空白の値を入力します。
$SectDataWidthAndHeight各セクションに幅と高さを指定します。このフィールドの値では、常に 2 つのオプションを取得します。1 番目のオプションはセクションの幅、2 番目のオプションはセクションの高さを示します (例: ■156 1000■。値はともに 1/1000 インチ単位です。たとえば、1-1/2 インチは 1500 と表記されます。値は 1 以上でなければなりません。

他のフィールド内に 2 つのエントリがある場合は、このフィールドにも 2 つのエントリが必要です (例: "4156 1000" : "2781 1000")。

$SectDataInnerMargins各セクション内部の余白を指定します。このフィールドの値では、4 つの数値が空白で区切られている必要があり、各セクション内部の余白を指定します。オプションは順に左、右、上、下の余白を示しています (例: "156 0 0 0")。

内部の余白は、セクション全体の幅と高さ ([$SectDataWidthAndHeight]) を基準とする内側の計測値で、この中に一覧が配置されます。あらかじめ印刷された部分や穴が開けられている部分への印刷を避けるために、内部余白を使用することもできます。

ゼロを含むすべての値を入力できます。唯一の制限事項は、上下左右の内部余白の合計がセクション自体の幅および高さを超えてはならないという点です。たとえば、1.5 インチ幅のセクションに対して、1 インチの内部余白を左右に指定することはできません。

他のフィールド内に 2 つのエントリがある場合は、このフィールドにも 2 つのエントリが必要です (例: "156 0 0 0":"156 0 0 0")。

$SectDataOriginXandY実際のページの左上隅から計測した正確な位置を指定し、そこからページのデータが出力されます。このフィールドの値には、2 つのオプションが含まれます。1 番目のオプションは横の開始位置、2 番目のオプションは縦の開始位置を示します (例: ■00 835■。値はともに 1/1000 インチ単位で、ゼロを含むすべての値が有効です。他のフィールド内に複数のエントリがある場合は、このフィールドにも複数のエントリが必要です (例: "100 835":"100 835")。

1 番目のオプションでは、左上隅のセクションの位置だけでなく、(すべてのセクション同士が 0 ピクセル間隔でぴったりと隣接しているため) その他すべてのセクションの絶対位置も指定されます。セクションは [$SectDataWidthAndHeight] の幅の値を単位として横に広がり、高さの値を単位として縦に広がります。セクションは [$SectDataRowsAndCols] で指定した行数と列数分だけ拡大します。ただし、あらかじめ [Relaxrowsandcols] が指定されている場合は、実際の用紙に見合った範囲の行数と列数だけセクションが拡大します。

値に 0 (ゼロ) を指定した場合は注意が必要です。多くのプリンタでは、実際の用紙の左上隅から 1/8~1/4 インチの範囲で余白を残して印刷可能な部分が始まります。


Domino Designer では、Lotus Notes 6 の [個人アドレス帳] (names.nsf) を開いたり、[Address labels 20 or 30, business] などのフォームを表示すると、連絡先印刷フォームやフィールドの例を表示できます。

Lotus Notes 6 では、エンドユーザーに対する連絡先印刷の機能の例を表示できます。

1 Notes Client で、[個人アドレス帳] (NAMES.NSF) を開きます。

2 [連絡先] ビューを選択します。

3 [ファイル] - [印刷] を選択します。[ビューの印刷] ダイアログボックスが表示されます。

4 [プリンタ] タブで、[選択文書] をクリックします。[文書スタイル] タブが表示されます。

5 [文書スタイル] タブで、[1 ページに複数の文書を印刷] をクリックします。

6 [ラベル形式] の隣には、連絡先印刷フォームの一覧を表示できます。たとえば、[Address labels 20 or 30, business] は連絡先印刷が可能なフォームで、連絡先印刷の予約フィールドを使って作成されています。

7 [用紙の種類] の隣には、連絡先印刷の予約フィールドごとに値を表示できます。[Address labels 20 or 30, business] フォームには、2 種類の用紙分割方法 ("2X10 Labels, 1 x 4 in" または "3X10 Labels, 1 x 2-5/8 in") のエントリがありますこの 2 つの用紙分割エントリは、[$SectDataName] フィールドで指定されます。