用DELPHI打开WORD2000的问题

lEFTmOON 2002-10-01 07:19:15
我是这样写的
WordApplication.Connect; //启动和连接WORD
WordApplication.Visible := True; //使WORD可见

但好像有一些问题,如WORD启动后不会在前台显示,还有,如何手动关闭WORD后,就再也不能启动WORD了,有时候是“文件已关闭”错误,有时又是“PRC服务器”错误,该如何解决?
...全文
61 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
aladinhxh 2002-10-23
  • 打赏
  • 举报
回复
var
MSWord: Variant;


begin
try
MSWord := CreateOLEObject('Word.Application');//连接Word
except
messagedlg('请检查是否正确安装了WORD2000?',mterror,[mbok],0);
abort;
end;

if fileexists(extractfiledir(application.ExeName)+'\table\特殊证明临时文件.doc') then
deletefile(extractfiledir(application.ExeName)+'\table\特殊证明临时文件.doc');
copyfile(pchar(extractfiledir(application.ExeName)+'\table\特殊证明.doc'),pchar(extractfiledir(application.ExeName)+'\table\特殊证明临时文件.doc'),true);

MSWord.Documents.Open(FileName:=extractfiledir(application.ExeName)+'\table\特殊证明临时文件.doc', ReadOnly:=false);

//打开外部Word文档
MSWord.Visible := 1;//是否显示文件编辑
MSWord.ActiveDocument.Range(Start:=0, End:=0);//开始改变的启止位置
MSWord.ActiveDocument.Range.InsertAfter(Text:=edit2.Text);//在Word最后增加当前日期
MSWord.ActiveDocument.Range.InsertParagraphAfter;
statusbar1.SimpleText:='正在打印特殊证明,请稍侯.....!';
statusbar1.SimpleText:='打印任务完成!';
begin
if fileexists(extractfiledir(application.ExeName)+'\table\特殊证明临时文件.DOC') then
deletefile(extractfiledir(application.ExeName)+'\table\特殊证明临时文件.DOC');
end;
aladinhxh 2002-10-13
  • 打赏
  • 举报
回复
up
killers100 2002-10-03
  • 打赏
  • 举报
回复
记得要先CREATE一下。
killers100 2002-10-03
  • 打赏
  • 举报
回复
这是我写的程序中copy出来的,
WordApplication1:=TWordApplication.Create(self);
try
Template:=EmptyParam;
NewTemplate:=True;
ItemIndex:=1;
i:=bmpselector.ItemIndex;
m:=0;
if i<>-1 then
begin
try
WordApplication1.Connect;
except
MessageBox(Handle,'应先安装word','数学系',MB_OK);
Abort;
end;
WordApplication1.Visible:=True;
Template:=EmptyParam;
NewTemplate:=False;
WordApplication1.Documents.Add(Template,NewTemplate,Emptyparam,Emptyparam);
WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));
WordApplication1.Options.CheckSpellingAsYouType:=False;
WordApplication1.Options.CheckGrammarAsYouType:=False;
lyre 2002-10-03
  • 打赏
  • 举报
回复
http://www.djpate.freeserve.co.uk/Automation.htm
能解决你的问题了,不过是英文的,看你了。
gdwyh 2002-10-03
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var wrd:variant;
begin
wrd:=CreateOleObject('word.Application');
wrd.visible:=true;
end;

--还有,如何手动关闭WORD后,就再也不能启动WORD了,有时候是“文件已
--关闭”错误,有时又是“PRC服务器”错误,该如何解决?
请说清楚点
lEFTmOON 2002-10-03
  • 打赏
  • 举报
回复
to gdwyh(神州大侠)
错误为:被叫方拒绝接受呼叫
lEFTmOON 2002-10-03
  • 打赏
  • 举报
回复
to gdwyh(神州大侠)
就是如果使用DELPHI程序自己打开WORD后,如果不使用DELPHI关闭WORD,再次想做用程序来打开WORD就出现了以上的错误。
IBMlotus 2002-10-03
  • 打赏
  • 举报
回复
用完了以后要加
WordApplication1.disconnect
就不会出现PRC“服务器”错误了
ggdw 2002-10-03
  • 打赏
  • 举报
回复
ok


##############################################
# 我是菜鸟,我怕谁?菜鸟程序员联盟欢迎你~ #
# QQ:16730133 #
# MSN:GGDW2002@HOTMAIL.COM #
# 这里是菜鸟汇聚的地方,不是菜鸟请勿入 #
# http://soft.at.9966.org #
# email:gao@jscz.edu.cn #
##############################################
lEFTmOON 2002-10-02
  • 打赏
  • 举报
回复
up
cgh1970 2002-10-01
  • 打赏
  • 举报
回复
up
lxlsky 2002-10-01
  • 打赏
  • 举报
回复
up

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧