_Document.SaveAs提示意外

时间:2015-10-09 09:15:16

标签: delphi com ms-word delphi-xe7 delphi-2006

尝试使用下面的示例代码保存文档时,应将文档保存在给定位置。如果该文件已存在,则会抛出异常。到现在为止还挺好。但是在极少数情况下.SaveAs方法会阻塞,它会打开MS Word另存为对话框(如果Word可见,否则必须使用任务管理器激活它)。

这种情况只发生在装有Windows 10和Office 2016的1台PC上。

问题出在这里,我不知道何时期待对话,文档没有说明任何内容(https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word._document.saveas.aspx)。

使用SaveAs提示对话的条件是什么?就我而言,我从不想看到这个对话框。尝试了晚期和早期绑定,两个结果相同。这是一个可以通过代码修复的问题,还是以某种方式在Word中设置?

procedure Example(Sender: TObject);
var
  lWord : TWordApplication;
  lDoc : TWordDocument;
begin
  try
    lWord := TWordApplication.Create(Self);
    lWord.ConnectKind := ckNewInstance;
    lWord.Disconnect;
    lWord.Connect;
    lWord.Visible := True;
    lDoc := TWordDocument.Create(lWord);
    lDoc.SaveAs('C:\Temp\test.doc');
  except
  on e: exception 
  do
    begin
    //reResults.Lines.Add(e.Message);
    //reResults.Lines.Add(e.StackTrace);
    end;
  end;

  try
    lWord.Quit;
  finally
  end; 
end;

0 个答案:

没有答案