在delphi中怎么用word打开word文件?(300分)

  • 主题发起人 主题发起人 gaoren
  • 开始时间 开始时间
G

gaoren

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中怎么用word打开word文件
 
先做一个模板,然后把下面的代码改改。
procedure TForm1.Button1Click(Sender: TObject);
var
Word, FormField, Doc: variant;
k, i: integer;
ModuleName: array[0..255] of char;
PathName: string;
begin
GetModuleFileName(0, ModuleName, SizeOf(ModuleName));
SetString(PathName, PChar(@ModuleName[0]), StrLen(@ModuleName[0]));
PathName := ExtractFilePath(PathName);

Word := CreateOleObject('word.application');
Word.Visible := True;
Doc := Word.Documents.Open(PathName+'test.doc');
k := Doc.FormFields.Count;
for i := 1 to k do
begin
FormField := Doc.FormFields.Item(i);
ShowMessage('第'+IntToStr(i)+'个FormField的HelpText为:'+FormField.HelpText);
FormField.Result := '预祝项目成功!';
end;
Word.Activate;
Doc.SaveAs(PathName+'1.doc');
end;
 
再给你一个链接
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517
 
先放一个WordApplication,WordDocument控件在表单上.
var a:OleVariant;
filename:WideString;
linkflag,saveflag,prange:OleVariant;
begin
a:='c:/a.doc';
WordApplication1.Connect;
WordApplication1.Visible:=true;
WordDocument1.Connectto(WordApplication1.Documents.Open(a,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));
...
linkflag:=false;
saveflag:=false;
prange:=WordDocument1.Range;
filename:='c:/test.bmp';
WordDocument1.InlineShapes.AddPicture(filename,linkflag,saveflag,prange);//呵呵,这儿还可以插副图片.
...
你还是搜一下吧,很多资料的.我记得我都答过多次了.原理上跟EXCEL差不多.
 
使用ole方式可以控制word,,delphi中有相应的控件利用vba也可以!
论坛中很多回答,仔细找找,楼上的那个地址也很不错的:)
如果不行在联系吧!
 
再给一个:
D5中用TWebBrowser,D4中用下面的方法引入WebBrowser,
choose from the menu Component->Import ActiveX Control and install:

Microsoft HTML Object Library
Microsoft Internet Controls

this will install:

Webbrowser_V1
Webbrowser
Scriptlet


然后Webbrowser1.navigate('c:/test.doc'),则Word会无缝嵌入到webbrowser中打开稳当。
 
各位大哥们有没有一个完整的例子呢,我看不太懂,好吗?
谢谢了。我不知道怎么用delphi用word打开一个word 文档。谢谢啦。
 
先放一个WordApplication,WordDocument控件在表单上.
//zhangkan 的方法,我试过的,可以。
procedure OpenWordFile(FileName:String);
var
a:OleVariant;
begin
a:=FileName;
WordApplication1.Connect;
WordApplication1.Visible:=true;
WordDocument1.Connectto(WordApplication1.Documents.Open(a,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));
//如果不行,上面改为下面;
// WordDocument1.Connectto(WordApplication1.Documents.Open(a,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));
end;
 
后退
顶部