高手请进,在Delphi当中怎样启动Word文档?(50分)

  • 主题发起人 主题发起人 seared2008
  • 开始时间 开始时间
S

seared2008

Unregistered / Unconfirmed
GUEST, unregistred user!
我想利用Delphi程序启动,编辑,保存,退出Word文档。
敬请高手指教?
给我一下代码,讲述一下,word控件的基本用法?
 
应用 ole
这个我知道可是具体你能给我一段代码让我运行起来吗?
 
具体实现过程如下:
1) 创建一个新的应用程序工程,在窗体中添加一个Button组件和一个Edit组件。
2) 在Uses语句中添加ComObj单元。
3) 在窗体的OnCreate事件处理过程中创建Word实例,具体方法与前面类似。
4) 添加Button组件的OnClick事件的处理过程,具体见下面的程序清单。
程序清单
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ComObj ;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TO b j e c t ) ;
procedure Button1Click(Sender: TO b j e c t ) ;
private
{ Private declarations }
public
{ Public declarations }
end ;
var
Form1: TForm1;
v_app: variant;
implementation
{$R *. D F M }
procedure TForm1.FormCreate(Sender: TO b j e c t ) ;
begin
try
v_app : = GetActiveOleObject( ' Wo r d . A p p l i c a t i o n ' ) ;
except
v_app : = CreateOleObject( ' Wo r d . A p p l i c a t i o n ' ) ;
end;
end ;
procedure TForm1.Button1Click(Sender: TObject) ;
var
v_doc, v_ran : Variant;
begin
// 在Wo r d中新建一个文档,并添加文本,然后设置粗体和字体大小
v_app.Visible: = True ;
v_app.Documents.Add;
v_app.Documents.Item(1).Range.Text:=Edit1.Text;
v_doc:=v_app.Documents.Item(1) ;
v_doc.Paragraphs.Add;
v_ran:=v_doc.Paragraphs.Item(1).Range;
v_ran.Bold:=1;
v_ran.Font.Size : = 25 ;
end;
end .
 
uses ... ,comobj;

procedure TForm1.Button1Click(Sender: TObject);
var
Word,doc:OleVariant;
begin
word:=CreateOleObject('Word.Application');
doc:=word.documents.open('d:/temp.doc');
word.visible:=true;
end;
 
春意:

你的程序运行时提示:
File Not Found 'comojb.dcu'

为什么?
 
你打錯了,是comobj
 
请在Servers组件中将WordApplication1控件放在窗体中试试看!
 

uses word2000;
procedure TForm1.Button2Click(Sender: TObject);
var v:OleVariant; vv:_Application;
begin
vv:=CoWordApplication.Create;
v:=vv;
v.visible:=true;
v.documents.open('c:/a.doc');
WordApplication1.ConnectTo(vv);//wordapplication1就是Servers页里的word控件,其他的处理你看vba的帮助了,另外记得退出时用WordApplication1.Quit;和WordApplication1.Disconnnect;
v:=null;
end;
 
多人接受答案了。
 
后退
顶部