4D Write Pro : フローティングテキストボックス!

4D Write Pro は、ビジネス文書の作成に欠かせない製品です。これまでも様々なお役立ち機能を順次リリースしていますが、4D v19 R8 では、4D Write Proフローティングテキストボックス が導入されました。

たとえば、コーポレート・アイデンティティに準拠したレターヘッドが必要な場合など、テキストボックスを使った自由度の高いデザインが可能です。

4D Write Pro: フローティングテキストボックス

テキストボックスはよく知られた機能かもしれませんが、概要をおさらいしておきましょう。

テキストボックスとは、テキスト、画像、または表を含む任意のサイズのフローティングテキストエリアです。テキストボックスの使い方は多岐にわたり、たとえば封筒の との位置合わせのために、用紙 の特定の場所に宛先住所を配置することができます。

 

 

 

テキストボックスの作り方

もっとも簡単な方法は、インターフェースを使うことです。ツールバーとサイドバーに、このための新しいボタンが用意されています。

blank

blank

作成したテキストボックスは、境界線をクリックして移動したり、ハンドルでサイズを変更したりできます。

blank

テキストボックスの属性と内容

テキストボックスには独自の属性があります。これらの属性は、プログラミングで変更できるほか、インターフェースによっても変更可能です。

各テキストボックスについて、境界線の種類太さ背景色を選択することができます。

テキストボックスの内容には、テキスト、画像、表を挿入することができ、さらにこれらにフォーミュラを含めることができます。

blank

新しいコマンドと標準アクション

テキストボックスをプログラムで作成したり削除したりするための新しいコマンドと標準アクションが追加されました。

まずは、コマンドから見ていきましょう。

コマンド

テキストボックスの挿入と削除のために、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 下の位置に配置します。また、境界線には青い点線を使用し、角を丸くします。

blank

 

このためには、以下のようなコードが書けます:

// #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)

メニューをボタンに割り当てると、このように表示されます:

blank

HTML・pdf・svg にエクスポート!

ほとんどのエクスポート形式では、これらのテキストボックスが考慮されます。HTMLへのエクスポートの場合、アンカーはページモードではなく埋め込みモードに基づいていなければならないことに注意してください。

まとめ

この新機能は、4D Write Pro における重要なブレークスルーです。使いやすさはそのままに、より精巧なドキュメントを作成することができます。

Roland Lannuzel
- プロダクトオーナー&4Dエキスパート -電子工学を学んだ後、産業用ITの分野で開発者兼コンサルタントとして、さまざまなデータベースやテクノロジーを使って顧客のためのソリューションを構築。80年代後半に4Dに惚れ込み、会計、請求書作成、メールシステムなどのビジネスアプリケーションの作成に4Dを使用してきました。現在も、新機能やデータベース開発ツールの定義など、4Dの未来を積極的に切り開いています。