Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2009年05月12日] [更新 2009年06月14日] ワード操作フォームEx
   
ワード操作フォームEx
プロパティ
動作確認等 -





凡例  published
 public
 ReadOnly



プロパティ一覧


全てのプロパティの先頭には wdf が付いています.

 wdfWordApp TWordApplication ワードのオブジェクト
 wdfWordDoc TWordDocument ワードの文書オブジェクト
 wdfWordHandle HWND ワードのハンドル
 wdfWordVersionNo Integer ワードのバージョン番号
 wdfFileFullPath String 文書のフルパス名
保存,読出しすると変わる
 wdfFileExt String 文書の拡張子
デフォルトは doc
保存や読出しの際に自動的に付加する
 wdfHeaderFooterPrint Boolean ヘッダフッタ部の印刷有無のフラグ
False にすると印刷しない
デフォルトは True
 wdfPrinterNo Integer プリンタの番号
印刷ダイアログで設定したプリンタ名の情報として,次回印刷時に使用する
 wdfDlgWordFocused Boolean ボタン類クリック後,フォーカスをワードにするかのフラグ
デフォルトは False
主にワード本体で作業する場合に True にする




wdfFileFullPath プロパティ


フォーム表示前に,このプロパティに文書名を代入しておくと,フォーム表示後にこの文書を開きます.パス部分を省略すると,現在のフォルダの内の同名文書を開きます.
この時,文書名を Normal.dot とすると,標準テンプレートでの新規文書作成となります.Word 2007 の新規文書は作成できません.




wdfPrinterNo プロパティ


wdfPrinterNo は,Printer.PrinterIndex の値ではありません.プリンタは,ワードが独自で制御しているため,Delphi のプリンタの [プロパティ],プリンタの API を使用しても設定はできません.また,ワードのプリンタ番号を直接設定してしまうと,システムの [通常使用するプリンタ] がそのプリンタになってしまいます.注意してください (マイクロソフトの資料による).




文書変更のプロパティ


特に用意していません.wdfWordDoc オブジェクトの Saved プロパティを使用してください.


procedure TplWordFormEx2.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  //保存したことにしてしまう
  if wdfWordApp.Documents.Count > 0 then wdfWordDoc.Saved := True;

  //元の処理を実行
  inherited; ;
end;




Twdf2000Shape オブジェクト


図形やテキストボックスを表すオブジェクトは Shape です.これは Office2000.pas にも定義されていますが,互換性はありません.Office2000.pas には,エクセルやワードで使用する各種の定数が定義してありますので,これでは不便です.そこで,Twdf2000Shape という図形用のオブジェクトを定義しています.テキストボックスや図形はこのオブジェクトです.




Twdf2000Range オブジェクト


字列や表のセルなどのオブジェクトは Range ですが, Twdf2000Shape と名前付けを合わせるために, Twdf2000Range というオブジェクトを定義しています.ブックマークと表の行やセルなどはこのオブジェクトです.

Delphi XE2, XE3, XE4 の Word2000.pas には Range オブジェクトはありません.WordRange として定義されています.以下のコードを参考にして修正してください.


  {$IF CompilerVersion<22.1} //Delphi XE以下
  Twdf2000Range = Word2000.Range;
  {$ELSE}
  Twdf2000Range = WordRange;
  {$ENDIF}