Delphi6开发。
程序中将数据输出到word,并在word内打印。安装在win2000的机器上后,每次启动软件,word打印几次后。就出现“wordapplication.connect”异常,word无法启动。若此时点击“开始-新建文档”则显示错误信息“无法注册这篇word文档”
请问这是什么原因。代码如下:
procedure TableToWord;
var WordApp:TWordApplication;
WordDoc:TWordDocument;
dotFName:OleVariant;
docFName:OleVariant;
oInfo:TInfo;
otbInfo:TTbInfo;
i:integer;
ItemIndex:OleVariant;
begin
try
WordApp:=TWordApplication.Create(nil);
WordDoc:=TWordDocument.Create(nil);
WordApp.Connect;
except
MessageDlg('Word可能没有正确安装!',mtError,[mbOk],0);
exit;
end;
for i:=1 to WordApp.Documents.Count do
begin
ItemIndex:=i;
if WordApp.Documents.Item(ItemIndex).Name=ExtractFileName(docFileName) then
begin
MessageDlg('当前Word窗口中已打开一个名为"' + ExtractFileName(docFileName) +'"的文件,'+#13#10+
'请先将它关闭!(如需保留该文件,请重命名该文件。)',mtInformation,[mbOk],0);
exit;
end;
end;
dotFName:=dotFileName;
docFName:=docFileName;
WordDoc.ConnectTo(WordApp.Documents.Add(dotFName,EmptyParam,EmptyParam,EmptyParam));
WordDoc.SaveAs(docFName);
WordApp.Activate;
WordApp.Visible:= True;
WordApp.disconnect;
end;
程序中将数据输出到word,并在word内打印。安装在win2000的机器上后,每次启动软件,word打印几次后。就出现“wordapplication.connect”异常,word无法启动。若此时点击“开始-新建文档”则显示错误信息“无法注册这篇word文档”
请问这是什么原因。代码如下:
procedure TableToWord;
var WordApp:TWordApplication;
WordDoc:TWordDocument;
dotFName:OleVariant;
docFName:OleVariant;
oInfo:TInfo;
otbInfo:TTbInfo;
i:integer;
ItemIndex:OleVariant;
begin
try
WordApp:=TWordApplication.Create(nil);
WordDoc:=TWordDocument.Create(nil);
WordApp.Connect;
except
MessageDlg('Word可能没有正确安装!',mtError,[mbOk],0);
exit;
end;
for i:=1 to WordApp.Documents.Count do
begin
ItemIndex:=i;
if WordApp.Documents.Item(ItemIndex).Name=ExtractFileName(docFileName) then
begin
MessageDlg('当前Word窗口中已打开一个名为"' + ExtractFileName(docFileName) +'"的文件,'+#13#10+
'请先将它关闭!(如需保留该文件,请重命名该文件。)',mtInformation,[mbOk],0);
exit;
end;
end;
dotFName:=dotFileName;
docFName:=docFileName;
WordDoc.ConnectTo(WordApp.Documents.Add(dotFName,EmptyParam,EmptyParam,EmptyParam));
WordDoc.SaveAs(docFName);
WordApp.Activate;
WordApp.Visible:= True;
WordApp.disconnect;
end;
解决方案 »
- delphi 多线程问题
- 一串数字比如123456,要得到相应的壹贰叁肆伍陆,求算法
- 运行时错误:登陆系统按完确定键后出现EaccessViolation,哪位高手帮帮小妹啊:(,在线等
- 关于程序打开时附带参数,并且参数里带空格的问题。
- 运行时生成TDBedit,该怎么做?感谢大家!
- 我做好了一个有关数据库的程序,希望做一个安装程序,听说用installshield express比较好,可是..>
- !!!请教高手,在线等待!!!
- 一段代码整体一定的快捷方式
- 福利彩票复式投注求一共产生的注数的算法是什么?
- 如何使用webbrowser控件自动提交网页?
- 关于DBGrid的界面问题
- 关于数据类型的问题
WordApp.Quit;
之類, 完全退出 word的進程,
你檢查下, 當你捃行一個操作完成後,
你Ctrl+Alt+Del看看,
在任務進程裹面是否還有word的進程存在!!!