ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20
ドキュメントのコンテンツにプログラムでアクセスする

ドキュメントのコンテンツにプログラムでアクセスする  


 

 

4D Write Proではドキュメント内でテキストと画像の属性を変更するためのコマンドをフルセット提供しています。これらの機能のおかげで、4Dデベロッパーは4D Write Proドキュメントに対して(ボタン、メニュー、チェックボックス等を使用した)独自のインターフェースをデザインすることができます。コマンドはドキュメント全体、または特定の部分(レンジ)に対して適用可能で、どちらもユーザー選択あるいはカスタムの値に基づきます。利用可能なプロパティには、ドキュメント単位、マージン、パッディング、背景、段落設定、カラー、フォント、フォントスタイル、そして画像プロパティなどが含まれます。

例えば、4D Write Pro エリアライブラリオブジェクトはこれらの機能を存分に活用し、洗練された4D Write Proインターフェースを提供しています。

4D Write Proでは、ドキュメントのコンテンツをプログラムによって選択し操作することができます。選択されたコンテンツにはテキスト、画像、表、そして(非表示の)フォーマット用タグなどが含まれうることから、4D Write Proではレンジと呼ばれるオブジェクト型を使用することができます。

レンジとは、4D Write Pro ドキュメントの一部を表すオブジェクト型です。これを使用することで、選択する要素を指定したり、(WP GET ATTRIBUTES および WP SET ATTRIBUTESを使用して)ドキュメントの一部の要素を操作することができます。

レンジとは、4D Write Pro ドキュメントの一部を表すオブジェクト型です:

  • 文字、段落、ピクチャー、表などのレンジは、その親ドキュメント内の文字の位置を通して定義されます。
  • セル、カラム、行のレンジは、セルの位置を通して定義されており、親の表へとアンカーされます。

レンジを使用することで選択したい要素を指定したり、ドキュメントの一部の属性を(WP GET ATTRIBUTES および WP SET ATTRIBUTESを使用して)編集したりすることができます。

レンジには異なるタイプのレンジがあります。wk type 属性(読み込みのみ)を用いて、レンジのタイプを決定することができます。それぞれのレンジには、そのレンジを定義する複数の非公開の属性が含まれます:

定数 値 コメント
wk end end (読み込み専用のレンジ属性)
wk owner owner (読み込み専用のレンジ属性)
wk start start (読み込み専用のレンジ属性)
wk type type (読み込みのみ可能なレンジ属性) 4D Write Pro オブジェクトの型。取りうる値:
  • wk type default: 未定義の型のレンジ
  • wk type paragraph: 段落型のレンジ
  • wk type image: 画像(アンカーされた画像およびインライン画像)
  • wk type image anchored: アンカーされた画像
  • wk type image inline: インライン画像
  • wk type container: 例えばヘッダーやフッターなど
  • wk type table: 表参照
  • wk type table row: 表の行参照
  • wk type table cell: 表のセル参照
  • wk type table column: 表のカラム参照(カラムレンジに対してのみ)
  • wk type body: 本文参照

注: セル、カラム、行のレンジは、特別な属性をもっています(以下の段落参照)。

ドキュメントのレンジを定義するために、複数のコマンドが用意されています:

  • WP Text range( wpArea ; startRange ; endRange ) -> rangeObj: 引数として渡した境界に対応する新しい範囲を返します。
  • WP Selection range( {*;} wpArea ) -> rangeObj: カレントのユーザーセレクションに対応した新しいレンジを返します。
  • WP Picture range( rangeObj ) -> rangeObj: ピクチャーのみを含んだ新しいレンジを返します。
  • WP Paragraph range( rangeObj ) -> rangeObj: 段落のみを含んだ新しいレンジを返します。
  • WP Table range( rangeObj ) -> rangeObj: 表のみを含んだ新しいレンジを変ええします。

WP Get position コマンドを使用することで、ドキュメント内でのレンジの位置(ベージ番号、カラム番号など)についての情報を取得することができます。

4D Write Pro の表は以下のコマンドを使用することでプログラムによって作成することができます:

(*) HTMLにはカラムに相当するものがありません。4D Write Proでは、カラムのレンジは実際にはセルのレンジです。

行、カラムとセルのレンジには、それらを定義するための非公開の属性が存在します:

定数 値 コメント
wk column count columnCount (テーブル、ドキュメント、セクション用の属性)カラムの数。値:倍長整数
  • テーブルの場合: 読み込みのみ属性
  • ドキュメントあるいはセクションの場合: 読み込み/書き込み可能属性。デフォルト値=1(単一の行)。最大値=20
wk first column firstColumn (読み込みのみ属性)テーブル内にある最初のカラムの数。値:倍長整数
wk first row firstRow (読み込みのみ属性)テーブル内の最初の行の数。値:倍長整数
wk row count rowCount (読み込みのみ属性)行の総数。値:倍長整数
wk table table

(読み出しのみ属性) 親テーブル。値の型: オブジェクト

wk table ID tableID (読み込みのみ属性)親テーブルのID。値:文字列

ヘッダー、フッター、セクションの管理の段落で説明されているように、4D Write Pro ドキュメントは、以下のものが含むことができます:

  • 1つ以上のセクション(デフォルトは1セクション)
  • 各セクションに対して、最大3つのサブセクション:
    • 最初のページサブセクション
    • 左ページサブセクション
    • 右ページサブセクション

セクションとサブセクションは実体はオブジェクト型であり、以下のコマンドを使用することでプログラムで管理することができます:

また、以下のコマンドを使用することで、特定のヘッダーとフッターをセクションやサブセクションに対して割り当てることができるという点に注意してください:

セクションとサブセクションオブジェクトは以下の属性をサポートします:

4D Write Proではブックマークと呼ばれる、ドキュメントの一部に対して動的な参照を作成し、使用することができます。ブックマークとは、4D Write Proドキュメント内の特定のレンジに関連づけられた名前付き参照です。

ブックマークは動的です。これはつまり、ブックマークに関連付いた文章をユーザーが移動または削除した場合には、紐付いているレンジも自動的に更新され、ブックマークはドキュメント内の同じ内容を引き続き参照し続けるという事です。例えば:

  • ドキュメント内の20ページ目にある"Hello world"を参照する、"MyBM"というブックマークを作成したとします。
  • 次に、ドキュメントの最初に50ページ挿入したとします。
  • "MyBM"ブックマークを使用する事で、今度はドキュメント内の70ページ目にある、同じ"Hello world"というテキストに自動的にアクセスすることができます。
ドキュメント内には無制限のブックマークを含める事ができます。複数のブックマークが同じレンジを参照することもできますし、ブックマークのレンジは重複することもできます。しかしながら、それぞれブックマーク名はドキュメント内において固有でなければなりません。ブックマークは、WP INSERT DOCUMENT コマンドを使用した場合にはインポートされません(保存先のドキュメントのブックマークは上書きされません)。

一度作成すると、ブックマークはドキュメント内に保存されています。ブックマークはドキュメントとともに保存され、複数のコマンドによって管理することができます。また、テンプレートドキュメントの一部を参照するのにも使用できます。これらの部分はデータベース内のドキュメントと自動的に組み合わせることもでき、その結果請求書やカタログといった動的な出力ドキュメントを生成することもできます。

複数のコマンドを使用して、ブックマークを作成、削除、使用することができます:

  • WP NEW BOOKMARK はレンジから新しいブックマークを作成します。
  • WP GET BOOKMARKS はドキュメント内で定義されている全てのブックマークを取得します。
  • WP Bookmark range は既存のブックマークからレンジを取得します。
  • WP DELETE BOOKMARK はブックマークを削除します。

以下のコマンドはドキュメントの属性を取得あるいは設定します:

  • WP SET ATTRIBUTES( rangeObj | wpDoc ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} ): ドキュメントまたはレンジ内の一つ以上の属性/値のペアを設定します。
  • WP GET ATTRIBUTES( rangeObj | wpDoc ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} ): ドキュメントまたはレンジ内の属性のカレントの値を取得します。
  • WP RESET ATTRIBUTES( rangeObj ; attribName {; attribName2 ; ... ; attribNameN } ): ドキュメントまたはレンジ内の属性の値を再設定します。

属性は4D Write Pro属性の章に詳細な説明があります。

このコマンドはレンジのスタイルサポートに関する情報を取得します:

  • WP Is font style supported( rangeObj ; wpFontStyle ) -> true または false: レンジが特定のスタイルをサポートするかどうかを調べます(インターフェースのデザインに有用です)。

4D Write Pro では、レンジ (テキスト、ピクチャーなど)や要素(表、本文、フッターなど)あるいはドキュメント全体を含めて、任意のドキュメントのターゲットオブジェクトに対してハイパーリンクを設定することができます。たとえば、画像レンジにURLハイパーリンクを設定した場合、その4D Write ProドキュメントをHTMLに出力すれば、ユーザーはその画像をクリックすることで指定されたアドレスのページを開くことができます。

4D Write Pro ドキュメント内において Ctrl+クリック (Windows) または Cmd+クリック (macOS) 操作をすることでもハイパーリンクを開くことができます。

4D Write Pro は以下のタイプのリンクをサポートします:

リンクのタイプ詳細
urlWeb ページあるいは任意のドキュメントへのリンク。実行時には関連づけられたアプリケーションが開きます(*)。4D Write Pro ドキュメント(.4wp、 .4w7)へのURL リンクを実行すると、カレントの4D Write Pro エリア内のドキュメントを置き換えます。
(*) ちょうどOPEN URL コマンドの挙動と同じです。
bookmarkドキュメント内のブックマークへのリンクです。
method4D メソッドへのリンクを実行すると、そのメソッドが実行されます(ただしそのメソッドがSET ALLOWED METHODS メソッドによって許可されている必要があります)。

ハイパーリンクは以下のコマンドで管理することができます:

  • WP SET LINK を使用して、ターゲットオブジェクトを使用してリンクを挿入
  • WP Get links を使用して、ターゲットオブジェクト内のすべてのリンクをコレクションとして取得

注: リンクは属性として扱われるため、wk link url 定数を使用することでWP SET ATTRIBUTES および WP GET ATTRIBUTES コマンドでそれらを設定及び取得することは可能です。しかしながら、実際にはWP SET LINK および WP Get links コマンドの使用が推奨されます。こちらであればハイパーリンクを自動的にURL としてエンコード/デコードするからです。WP GET ATTRIBUTES コマンドを使用してリンクを読み込うとしたとき、ターゲットオブジェクトに複数のリンクが格納されていた場合には、WP GET ATTRIBUTES コマンドは最初のリンクの文字列を返します。

たとえば、ユーザーが選択したテキストをWebサイトへのURLリンクへと変換したい場合:

次のように書きます:

 $range:=WP Get selection(*;"WParea")
 WP SET LINK($range;New object("url";"http://www.4d.com"))

ターゲットオブジェクトからリンクを除去するためには、以下のように書くか:

 WP RESET ATTRIBUTES($range;wk link url)

あるいは以下のように書くことができます。

 WP SET ATTRIBUTES($range;wk link url;"")

注: $range がリンク全体を格納していない場合、リンクは短縮されますが完全に除去されるわけではありません。

スタイルシートとは、定義された属性設定のセットのオブジェクトであり、これを使用することで4D Write Pro ドキュメントの見た目をコントロールすることができます。これらの設定は段落または文字に対して適用することができます(例えば表示するフォント、フォントのサイズ、カラー、ウェイトなどです)。スタイルシートの定義が完了したら、それは4D Write Pro ドキュメント内にオブジェクトとして保存され、簡単に再利用することができます。スタイルシートを使用するとドキュメントの独特かつ固有の見た目を与えることができる一方、時間や労力を節約することもできます。

デフォルトスタイル

全ての4D Write Pro ドキュメントにはデフォルト段落スタイルシート、"通常"があります。(コマンドで作成される)新しいスタイルシートは、自動的にこの通常スタイルを継承します。スタイルシートによって変更された属性は、そのスタイルシートが適用されている段落にのみ影響し、ドキュメントの残りの部分はデフォルトの通常設定のままになります。スタイルシートが除去された場合、変更された属性は通常のスタイルへと戻されます。

通常スタイルシートは、4D Write Pro ドキュメント内のすべてのスタイルシート属性のデフォルト値を定義し、WP Get style sheet コマンドで取得することができます。通常スタイルシートはWP SET ATTRIBUTES コマンドで編集可能です(ただし名称の変更はできません)。WP New style sheet コマンドで作成されたスタイルシートはWP DELETE STYLE SHEET コマンドで削除することができますが、通常スタイルシートは削除することができません。

段落スタイルシートと文字スタイルシートの属性

スタイルシートでは段落全体、または特定の文字の属性を定義することができます:

  • 段落 - 編集可能な属性の大部分は、段落に対してのみ提供可能です。段落スタイルシートは文字スタイルシートを含み、かつ段落レベル(例:余白、境界線、タブ、など)に対してのみ適用可能なフォーマット属性も含んでいます。
  • 文字 - 文字スタイルシートはテキスト(一文字または複数の文字)を段落スタイル(例:ヘッダー、タイトル、下線付きテキスト)から差別化するために適している属性のみ使用できます。

段落スタイルは段落全体に適用されるという点に注意してください。段落の特定の部分にのみスタイルを適用したい場合、文字スタイルシートを使用する必要があります。

スタイルシート優先順位

同じ4D Write Pro ドキュメント内に複数の段落/文字スタイルシートを組み合わせることができます。スタイルシートの優先順位は、それが適用された順番によって決定されるという点に注意してください。

  • 段落スタイルシートを適用したあとに文字スタイルシートを適用した場合、文字スタイルシートは段落スタイルシートより優先されます。例えば、段落スタイルシートをドキュメントの本文に適用し、そのあと"太字"文字スタイルシートを作成し、特定の単語の箇所に対してのみ適用することができます。段落スタイルシートは引き続き残りのテキストに適用されますが、指定された単語に対しては文字スタイルシートが優先されます。
  • 文字スタイルシートを適用したあとに段落スタイルシートを適用した場合、段落スタイルシートがテキスト全体に適用され、どんな文字スタイルシートの文字スタイルも削除されてしまいます。

スタイルシートの適用

スタイルシートはWP SET ATTRIBUTES コマンドとwk style sheet または wk new line style sheet 定数を使用することで(あるいはオブジェクト記法を使用することで)適用されます。詳細な情報については、4D Write Pro属性 を参照してください。

スタイルシートの取得

WP Get style sheets コマンドを使用すると、指定されたタイプに応じてドキュメント内にある全てのスタイルシートを取得することができます。WP Get style sheet コマンドを使用するとスタイルシートを名前で指定して取得することができます。

スタイルシートの読み込みと書き出し

スタイルシートはオブジェクトして保存されるので、他の4D Write Pro ドキュメントに容易に読み込みが可能ですし、複数のフォーマットに書き出しをしても容易に維持できます。

  • 読み込み - WP IMPORT STYLE SHEETS コマンドを使用すれば、指定した4D Write Pro ドキュメントから全てのスタイルシートオブジェクトを取得し、新規ドキュメントで使用することも可能です。
  • 書き出し - WP EXPORT DOCUMENT または WP EXPORT VARIABLE コマンドを使用するとドキュメントをスタイルシート付きで書き出せます。

スタイルシート属性

以下の段落・文字スタイルシート属性はWP SET ATTRIBUTES および WP RESET ATTRIBUTES コマンドで編集することや、WP GET ATTRIBUTES コマンドで取得することが可能です。

注: 一部の属性はリンクして連動しあっています。そのため、これらのどれか一つの属性を追加した場合、リンクした属性も同時にデフォルト値で作成されます。リンクされた属性については、デフォルトの値は通常スタイルシートで定義された値とは異なる場合があります。例えば、赤の左境界線だけを定義した場合、他の境界線はたとえ通常スタイルシートが事前に紫に定義されていたとしても黒(デフォルト値)に設定されます。

 

属性段落文字リンクして連動する属性
wk avoid widows and orphans○
wk background clip○
wk background color○ ○
wk background height○ wk background width
wk background image○
wk background image url○
wk background origin○
wk background position horizontal○ wk background position vertical
wk background position vertical○ wk background position horizontal
wk background repeat○
wk background width○ wk background height
wk border color○ wk border color bottom, wk border color left, wk border color right, wk border color top
wk border color bottom○ wk border color, wk border color left, wk border color right, wk border color top
wk border color left○ wk border color, wk border color bottom, wk border color right, wk border color top
wk border color right○ wk border color, wk border color bottom, wk border color left, wk border color top
wk border color top○ wk border color, wk border color bottom, wk border color left, wk border color right
wk border radius○
wk border style○ wk border style bottom, wk border style left, wk border style right, wk border style top
wk border style bottom○ wk border style, wk border style left, wk border style right, wk border style top
wk border style left○ wk border style, wk border style bottom, wk border style right, wk border style top
wk border style right○ wk border style, wk border style bottom, wk border style left, wk border style top
wk border style top○ wk border style, wk border style, wk border style bottom, wk border style left
wk border width○ wk border width bottom, wk border width left, wk border width right, wk border width top
wk border width bottom○ wk border width, wk border width left, wk border width right, wk border width top
wk border width left○ wk border width, wk border width bottom, wk border width right, wk border width top
wk border width right○ wk border width,  wk border width bottom, wk border width left, wk border width top
wk border width top○ wk border width,  wk border width bottom, wk border width left, wk border width right
wk direction○
wk font○○ wk font bold, wk font italic, wk font size
wk font bold○○ wk font, wk font family, wk font italic, wk font size
wk font family○○ wk font, wk font bold, wk font italic, wk font size
wk font italic○○ wk font, wk font bold, wk font family, wk font size
wk font size○○ wk font, wk font bold, wk font family, wk font italic
wk line height○
wk list font○
wk list string format LTR○
wk list string format RTL○
wk list style image○
wk list style image height○
wk list style image url○
wk list style type○
wk margin○ wk margin bottom, wk margin left, wk margin right, wk margin top
wk margin bottom○ wk margin, wk margin left, wk margin right, wk margin top
wk margin left○ wk margin, wk margin bottom, wk margin right, wk margin top
wk margin right○ wk margin, wk margin bottom, wk margin left, wk margin top
wk margin top○ wk margin, wk margin bottom, wk margin left, wk margin right
wk min height○
wk min width○
wk name○○
wk new line style sheet○
wk owner○  ○ 
wk padding○ wk padding bottom, wk padding left, wk padding right, wk padding top
wk padding bottom○ wk padding, wk padding left, wk padding right, wk padding top
wk padding box○
wk padding left○ wk padding, wk padding bottom, wk padding right, wk padding top
wk padding right○ wk padding, wk padding bottom, wk padding left, wk padding top
wk padding top○ wk padding, wk padding bottom, wk padding left, wk padding right
_o_wk page break inside○
wk tab default○ wk tabs, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tabs○ wk tab default, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tab stop offsets○  wk tabs, wk tab default, wk tab stop types, wk tab stop leadings
wk tab stop types○ wk tabs, wk tab default, wk tab stop offsets, wk tab stop leadings
wk tab stop leadings○ wk tabs, wk tab default, wk tab stop offsets, wk tab stop types  
wk text align○
wk text color○○
wk text indent○
wk text linethrough color○○
wk text linethrough style○○ wk text underline style
wk text shadow color○○ wk text shadow offset
wk text shadow offset○ ○ wk text shadow color
wk text transform○○
wk text underline color○○
wk text underline style○○ wk text linethrough style
wk type○ (読み出し専用)○ (読み出し専用)
wk vertical align○○
wk width○



参照 

Download HDI database

 
プロパティ 

プロダクト: 4D
テーマ: 4D Write Proランゲージ

 
ページの目次 
 
履歴 

変更: 4D v16
変更: 4D v16 R4
変更: 4D v16 R5

 
ARTICLE USAGE

4D Write Proリファレンス ( 4D v20)