【发布时间】:2013-10-01 21:26:31
【问题描述】:
我有一个带有 Office Word 的 Windows 窗体。我正在使用代码以编程方式打开 word 文档(_wd 的类型为 Microsoft.Office.Interop.Word.ApplicationClass - 我使用的是 VS 2012、.NET 4.5、Office 2007):
public void LoadComponent(string path) { if (_wd.Documents.Count != 0) _wd.ActiveDocument.Close(); _wd.Documents.Add(ref path); }
我想保存活动文档时出现问题。我不希望出现保存提示 - 这是我尝试过的,但无法取消提示对话框:
_wd.ActiveDocument.Saved = true;
_wd.ActiveDocument.Save();
如果我尝试:
_wd.ActiveDocument.SaveAs(_filePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing, Type.Missing);
我收到异常:“Word 无法保存此文件,因为它已在其他地方打开。” - 但它只在我的应用程序中打开,没有其他地方。如何以编程方式保存在没有保存提示对话框的情况下打开的 Word 文档?有趣的是,即使我尝试通过按“保存”按钮来保存文档,我也会收到保存提示对话框-> 就像之前没有在光盘上创建文档一样。但是,文档是从光盘打开的,只能以编程方式打开。如果我用 Word 打开文档,然后按“保存”,我永远不会得到保存提示对话框。
【问题讨论】:
-
嗯,这是可能的。您多久创建一次_wd 的新 实例?只需执行一次即可避免麻烦。
标签: c# ms-word ms-office office-interop