G
gboyjuan
Unregistered / Unconfirmed
GUEST, unregistred user!
我的想法是:
在用WebBrowser打开word文档之前,将这个文档复制到当前目录,然后再打开这个副本
但当我要打开第2个文档时,就不能复制了,因为先复制的那个副本还没关闭。
我在关闭后再打开其它文件时,有时就出问题了:没有显示需要打开的word文档内容,并且把这个程序关闭后,word会出来报错:
您不能关闭Microsoft Word,因为有一个对话框仍处于活动状态。
请先切换到Microsoft Word,关闭该对话框。
在运行程序前已确定所有的word程序都关闭了,并且经常里也没有winword.exe
我是这样写的:
procedure TFrm_Main.LoadTemplet;
var
V_Doc: OleVariant;
begin
if Assigned(WBR_DOC.Document) then
begin
V_Doc:=WBR_DOC.Document;
WBR_DOC.Navigate('');
V_Doc:=NULL;
while WBR_DOC.Document<>Nil do //关闭已打开的word文档
Application.ProcessMessages;
end;
CopyFile( //复制要打开的文件
PChar(ExtractFilePath(Application.ExeName)+'templet/'
+'?.doc'),//?为需要打开的word文档的文件名
PChar(ExtractFilePath(Application.ExeName)+'temp.doc'),
False);
//打开复制后的文件
WBR_DOC.Navigate(ExtractFilePath(Application.ExeName)+'temp.doc');
end;
在用WebBrowser打开word文档之前,将这个文档复制到当前目录,然后再打开这个副本
但当我要打开第2个文档时,就不能复制了,因为先复制的那个副本还没关闭。
我在关闭后再打开其它文件时,有时就出问题了:没有显示需要打开的word文档内容,并且把这个程序关闭后,word会出来报错:
您不能关闭Microsoft Word,因为有一个对话框仍处于活动状态。
请先切换到Microsoft Word,关闭该对话框。
在运行程序前已确定所有的word程序都关闭了,并且经常里也没有winword.exe
我是这样写的:
procedure TFrm_Main.LoadTemplet;
var
V_Doc: OleVariant;
begin
if Assigned(WBR_DOC.Document) then
begin
V_Doc:=WBR_DOC.Document;
WBR_DOC.Navigate('');
V_Doc:=NULL;
while WBR_DOC.Document<>Nil do //关闭已打开的word文档
Application.ProcessMessages;
end;
CopyFile( //复制要打开的文件
PChar(ExtractFilePath(Application.ExeName)+'templet/'
+'?.doc'),//?为需要打开的word文档的文件名
PChar(ExtractFilePath(Application.ExeName)+'temp.doc'),
False);
//打开复制后的文件
WBR_DOC.Navigate(ExtractFilePath(Application.ExeName)+'temp.doc');
end;