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 にする |
フォーム表示前に,このプロパティに文書名を代入しておくと,フォーム表示後にこの文書を開きます.パス部分を省略すると,現在のフォルダの内の同名文書を開きます.
この時,文書名を Normal.dot とすると,標準テンプレートでの新規文書作成となります.Word 2007 の新規文書は作成できません. |
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;
図形やテキストボックスを表すオブジェクトは Shape です.これは Office2000.pas にも定義されていますが,互換性はありません.Office2000.pas には,エクセルやワードで使用する各種の定数が定義してありますので,これでは不便です.そこで,Twdf2000Shape という図形用のオブジェクトを定義しています.テキストボックスや図形はこのオブジェクトです. |
字列や表のセルなどのオブジェクトは Range ですが, Twdf2000Shape と名前付けを合わせるために,
Twdf2000Range というオブジェクトを定義しています.ブックマークと表の行やセルなどはこのオブジェクトです.
Delphi XE2, XE3, XE4 の Word2000.pas には Range オブジェクトはありません.WordRange として定義されています.以下のコードを参考にして修正してください. |
{$IF CompilerVersion<22.1} //Delphi XE以下
Twdf2000Range = Word2000.Range;
{$ELSE}
Twdf2000Range = WordRange;
{$ENDIF}
|