【问题标题】:How to force Word to do a SaveAs on generated document如何强制 Word 在生成的文档上执行 SaveAs
【发布时间】:2015-10-06 17:27:48
【问题描述】:

我们有一个系统,我们将报告生成为 Word 文档(使用 RDLC)。

在临时目录中创建报告,然后启动 Word 将其显示给用户。

Word 已启动,报告由以下人员加载:

_wordApplication = (Word.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application"));
object tempFileNameObj = documentPath;
_wordDocument = _wordApplication.Documents.Open(ref tempFileNameObj);

我想要让 Word 相信这确实是一个新创建的、未保存的文件,因此当用户保存它时它会给用户一个 SaveAs 对话框(而不是保存回临时位置)。

理想情况下,我希望能够指定目标目录,并提供默认名称。

在 Word 启动时,我可以使用自动化来做我喜欢做的事情,但在 Word 启动后,我的应用程序将与 Word 断开连接,我不希望在文档中留下任何宏。

【问题讨论】:

  • 你好你可以看看:johniekarr.wordpress.com/2012/09/15/…我觉得和你想要的很接近
  • @SamuelLopez:那里有一些好东西,但提供 Word 插件并不是一个真正的选择。如果我不得不求助于在文档中包含宏,那么那里的方法会很有用。
  • 如果您可以使用 .New 而不是 .Open,那应该会强制创建一个新文档。在最新版本的 Windows Word 中,即使 tempFileNameobj 是文档而不是模板,它也可以工作,但我不记得是否总是如此。
  • @SamualLopez:感谢分享!

标签: ms-word office-automation


【解决方案1】:

您可以将您的 .doc 文件重命名为 .dot(Word 模板),如果您之后启动它,它将创建一个与您的 .doc 完全相同的新文件

【讨论】:

    【解决方案2】:

    如果您不使用宏,我相信存档此文件的唯一方法是将他们将下载的文件保存为只读或用户定义的模板文件,如果他们不想进行更改他们将不得不在他们的计算机中用另一个名称保存它以保存所做的更改。如果您可以使用宏,您可以归档更多选项,甚至在文档打开或关闭时强制保存为对话框。我希望这会有所帮助,因为如果不使用宏,我找不到更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2017-01-26
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      相关资源
      最近更新 更多