F
faithjb
Unregistered / Unconfirmed
GUEST, unregistred user!
我是新手,但正跟着师兄做一个合同管理的软件,问题不大,但烦人!
该软件需要打开一个Word文档,要求挺简单的.我参考了一些前辈做的范例程序,
无外乎两种方法:1.使用Delphi6的控件面板的Servers上的控件TWordApplication及TWordDocument
var
wFileName:OleVariant;//在OpenDialog中指定的Word文档名
begin
.......
try
with WordApplication1 do
begin
Connect;
Documents.Open(wFileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam);
Visible:=True;
Caption:='新疆石油管理局';
Activate;
end
except on E:Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
Abort;
end;
end ;
......
end;
2.使用Ole自动化的方法,如:
var
V: OleVariant;
FileNameTemp :String;
begin
if OpenDialog1.Execute then
begin
FileNameTemp := OpenDialog1.FileName;
V := CreateOleObject(′Word.Application′); //建立自动化对象
V.Documents.Open(FileNameTemp); //打开指定文件
.......
end;
......
end;
运行程序时,存在的问题是:
若Word没有启动,且WinWord.exe进程不存在,那么点击'打开Word文档'按钮,系统
给出提示框"消息筛选器显示应用程序正在使用中",此时进入Win2000任务管理器中查看进程,可以发现
虽然Word没有启动,但WinWord.exe进程却存在.此时若再次点击'打开Word文档',相关文档能顺利打开,
这就出现了需要点击两次按钮才能打开相关文档的问题.
但若Word已经启动,或者存在WinWord.exe进程,那么就没有一点问题,点击一次按钮即可打开相关文档.
奇怪!!!!
请求高人指点,我先谢谢了!!
该软件需要打开一个Word文档,要求挺简单的.我参考了一些前辈做的范例程序,
无外乎两种方法:1.使用Delphi6的控件面板的Servers上的控件TWordApplication及TWordDocument
var
wFileName:OleVariant;//在OpenDialog中指定的Word文档名
begin
.......
try
with WordApplication1 do
begin
Connect;
Documents.Open(wFileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam);
Visible:=True;
Caption:='新疆石油管理局';
Activate;
end
except on E:Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
Abort;
end;
end ;
......
end;
2.使用Ole自动化的方法,如:
var
V: OleVariant;
FileNameTemp :String;
begin
if OpenDialog1.Execute then
begin
FileNameTemp := OpenDialog1.FileName;
V := CreateOleObject(′Word.Application′); //建立自动化对象
V.Documents.Open(FileNameTemp); //打开指定文件
.......
end;
......
end;
运行程序时,存在的问题是:
若Word没有启动,且WinWord.exe进程不存在,那么点击'打开Word文档'按钮,系统
给出提示框"消息筛选器显示应用程序正在使用中",此时进入Win2000任务管理器中查看进程,可以发现
虽然Word没有启动,但WinWord.exe进程却存在.此时若再次点击'打开Word文档',相关文档能顺利打开,
这就出现了需要点击两次按钮才能打开相关文档的问题.
但若Word已经启动,或者存在WinWord.exe进程,那么就没有一点问题,点击一次按钮即可打开相关文档.
奇怪!!!!
请求高人指点,我先谢谢了!!