4D Write Pro は、ビジネス文書の作成に欠かせない製品です。これまでも様々なお役立ち機能を順次リリースしていますが、4D v19 R8 では、4D Write Pro に フローティングテキストボックス が導入されました。
たとえば、コーポレート・アイデンティティに準拠したレターヘッドが必要な場合など、テキストボックスを使った自由度の高いデザインが可能です。
テキストボックスはよく知られた機能かもしれませんが、概要をおさらいしておきましょう。
テキストボックスとは、テキスト、画像、または表を含む任意のサイズのフローティングテキストエリアです。テキストボックスの使い方は多岐にわたり、たとえば封筒の 窓 との位置合わせのために、用紙 の特定の場所に宛先住所を配置することができます。
テキストボックスの作り方
もっとも簡単な方法は、インターフェースを使うことです。ツールバーとサイドバーに、このための新しいボタンが用意されています。
作成したテキストボックスは、境界線をクリックして移動したり、ハンドルでサイズを変更したりできます。
テキストボックスの属性と内容
テキストボックスには独自の属性があります。これらの属性は、プログラミングで変更できるほか、インターフェースによっても変更可能です。
各テキストボックスについて、境界線の種類、色、太さ、背景色を選択することができます。
テキストボックスの内容には、テキスト、画像、表を挿入することができ、さらにこれらにフォーミュラを含めることができます。
新しいコマンドと標準アクション
テキストボックスをプログラムで作成したり削除したりするための新しいコマンドと標準アクションが追加されました。
まずは、コマンドから見ていきましょう。
コマンド
テキストボックスの挿入と削除のために、2つの新しいコマンドが作成されました。
- WP new text box
- WP DELETE TEXTBOX
そして、この新しいオブジェクトをパラメーターとして受け取るように多くの既存コマンドが改良されました。
以下はその一部です:
- WP set attributes
- WP Get elements
- WP Find all
- WP Get position
- WP Get formulas
- WP Get text
コードサンプル
この例題では、次のような特徴を持つテキストボックスを作成したいと思います:
内容は 10cm x 3.5cm で、0.5cm の内マージンがあり、ページの左上隅から 8cm 右と 4.5cm 下の位置に配置します。また、境界線には青い点線を使用し、角を丸くします。
このためには、以下のようなコードが書けます:
// #1 テキストボックスを作成します
$textBox:=WP New text box(WParea; 1)
// #2 テキストボックスの属性を定義します
WP SET ATTRIBUTES($textBox; wk id; "AddressArea")
// アンカー先とページ上の位置を指定します
WP SET ATTRIBUTES($textBox; wk anchor origin; wk paper box)
WP SET ATTRIBUTES($textBox; wk anchor horizontal align; wk left; wk vertical align; wk top)
WP SET ATTRIBUTES($textBox; wk anchor horizontal offset; "8cm"; wk anchor vertical offset; "4.5cm")
// サイズとスタイルを指定します
WP SET ATTRIBUTES($textBox; wk padding; "0.5cm") // 内マージン
WP SET ATTRIBUTES($textBox; wk width; "10cm"; wk height; "3.5cm")
WP SET ATTRIBUTES($textBox; wk border style; wk dashed; wk border color; "Blue"; wk border width; "1pt"; wk border radius; "10pt")
WP SET ATTRIBUTES($textBox; wk vertical align; wk center)
// #3: テキストボックスにフォーミュラをいくつか挿入します
WP INSERT FORMULA($textBox; Formula(This.data.fullName); wk append)
WP INSERT BREAK($textBox; wk paragraph break; wk append)
WP INSERT FORMULA($textBox; Formula(This.data.fullAddress); wk append)
// #4: テキストボックスの内容に対してスタイルを指定します
WP SET ATTRIBUTES($textBox; wk font; "Arial"; wk font bold; wk true; wk font size; "18pt")
でも、今日はプログラミングの気分ではないかもしれませんね?
そんな時も標準アクションを使えば大丈夫です。
標準アクション (メニューやボタンに設定します)
テキストボックスを作成するための新しい標準アクションは “insertTextBox” です。さらに、プレフィックス textbox/ を使うと、マージン、ボーダー、パディング、背景などを設定することも可能です。
以下はその例です:
- textBox/marginLeft
- textBox/paddingTop
- textBox/borders
- textBox/remove
あるいは、独自のメニューを作成することもできます:
$menu:=Create menu
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderStyle")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderColor")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderWidth")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/backgroundColor")
$value:=Dynamic pop up menu($menu)
// 標準アクションに基づいた項目しかないため、$value を確認する必要はありません
// メモリリークを避けるため、メニューをメモリから解放するのを忘れないようにしましょう
RELEASE MENU($menu)
メニューをボタンに割り当てると、このように表示されます:
HTML・pdf・svg にエクスポート!
ほとんどのエクスポート形式では、これらのテキストボックスが考慮されます。HTMLへのエクスポートの場合、アンカーはページモードではなく、埋め込みモードに基づいていなければならないことに注意してください。
まとめ
この新機能は、4D Write Pro における重要なブレークスルーです。使いやすさはそのままに、より精巧なドキュメントを作成することができます。