喫茶XRAYトップページ

[スレッド全体
]

[4641] Re4:OLEObjectによるWORD操作返信 削除
2011/4/16 (土) 23:33:28 Mr.XRAY
動作確認しました.

Windows XP(SP3)
Delphi 2010(UP5)
[Servers]タブのコンポーネント類は,Microsoft Office 2000...
実際に操作したワードは,Word 2007

テストに使用したコードは,
[432_TWordApplicationによるワード操作の基本例]
http://mrxray.on.coocan.jp/Delphi/plSamples/432_Word_TWordApp.htm
ただし,

procedure TForm1.Button3Click(Sender: TObject);
var
    ADocName : String;
begin
    ADocName := WordDocument1.FullName;
    Application.MessageBox(PAnsiChar(ADocName),'情報',MB_OK);
    //ここのPAnsiCharをPCharに変更(Delphi 2010でテストしたので)
end;

とりあえず以上です.他の環境での動作確認は必要があればということで.


[4642] Re5:OLEObjectによるWORD操作返信 削除
2011/4/17 (日) 09:32:09 yumapa
▼ Mr.XRAYさん

いつも、お世話になります。

[Servers]タブのコンポーネントを使用する方法に
変更して対応してみることにします。

ご教授ありがとうございました。


[4645] Re6:OLEObjectによるWORD操作返信 削除
2011/4/17 (日) 11:13:52 Mr.XRAY
▼ yumapaさん

> [Servers]タブのコンポーネントを使用する方法に
> 変更して対応してみることにします。


あらっ,ごめんなさい.

WordApplication := CreateOleObject('Word.Application');

となっていましたね.というか,タイトルにOLEObjectと書いてありますね.
失礼.でしたら,自分でイベントを定義してください.

WordApplication.OnDocumentBeforeClose := 自分で定義した関数名;
                ^^^^^^^^^^^^^^^^^^^^^
                OLEObjectで生成した場合,ここは違うのかな(不明)
                Word2000.pas内等を参照してください

参考までに,[Servers]タブのコンポ(Word2000の場合)のイベントの
スケルトンは以下のようにできます.
VBAのヘルプか,実際に[Servers]タブのコンポを配置して,空のイベントを
作成して確認してください.自分で作成した関数名の引数とその順序は一致
する必要があります.

VBAのヘルプは,
http://mrxray.on.coocan.jp/Delphi/Others/Office2000Help.htm

procedure TForm1.WordApplication1DocumentBeforeClose(ASender: TObject;
  const Doc: _Document; var Cancel: WordBool);
begin
//
end;

procedure TForm1.WordDocument1Close(Sender: TObject);
begin
//
end;



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82