CreateOleObjectメソッドを使用すると、Delphiが提供する制御方法へのアクセスと比較して、Word Coreの操作に「近い」という利点があります。 Word Documentの操作をプログラムします。
以下は、私がこのマシンで行った実験であり、マシンソフトウェアの構成は次のとおりです。
Windows XP+Delphi7.0+Office 2003
このプログラムは、ボタンがクリックされるたびに、編集とボタンが配置されますプログラムが閉じている場合。
ユニットメイン;
インタフェース
// createoleObjectを使用してwordドキュメントで動作する場合は、使用する必要があります
//ステートメントにcomobjステートメントとwordxpステートメントを含めます
用途
窓、メッセージ、sysutils、バリアント、クラス、グラフィック、コントロール、フォーム、
comobj、wordxp、ダイアログ、stdctrls;
タイプ
tform1 = class(tform)
Button1:Tbutton;
編集1:tedit;
手順button1click(sender:tobject);
手順formcreate(sender:tobject);
手順formclose(sender:tobject; var action:tcloseaction);
//手順button2click(sender:tobject);
プライベート
{プライベート宣言}
公共
{公開宣言}
終わり;
var
form1:tform1;
//これら2つの変数をグローバル変数として宣言します
fword:バリアント;
FDOC:バリアント;
実装
{$ r *.dfm}
手順tform1.button1click(sender:tobject);
始める
fword.selection.typeparagraph;
fword.selection.typetext(text:= form1.edit1.text);
終わり;
手順tform1.formcreate(sender:tobject);
始める
//最初にオブジェクトを作成し、例外が発生した場合はプロンプトを指定します
試す
fword:= createoleObject( 'word.application');
// Wordプログラムの実行は表示されますか?プログラムはバックグラウンドで実行されます
fword.visible:= false;
を除外する
showmessage( '単語オブジェクトに失敗した!'を作成する! ');
出口;
終わり;
//最初にオープンワードで新しいページを作成し、次に「Hello」、 + Enter +「World!」と入力します。」
試す
fdoc:= fword.documents.add;
fword.selection.typetext(text:= 'hello');
fword.selection.typeparagraph;
fword.selection.typetext(text:= 'world!');
を除外する
E:例外はそうします
showmessage(e.message);
終わり;
終わり;
//プログラムが閉じられ、test.docにちなんで命名されたときにファイルの内容を現在のディレクトリに保存します
//単語プログラムを同時に閉じます
手順tform1.formclose(sender:tobject; var action:tcloseaction);
始める
fdoc.saveas(extractfilepath(application.exename) +'test.doc');
fword.quit;
fword:= assigned;
終わり;
終わり。
さらに、他のオフィスファイルの操作は比較的類似しているため、詳細は説明しません。この方法は、単語ファイルのより複雑なVBAマクロへの参照を通じて、より複雑なドキュメント操作を完了することもできます。