【问题标题】:VSTO : Open a Word document which is located in another directory than the VSTO fileVSTO : 打开一个 Word 文档,该文档位于 VSTO 文件以外的另一个目录中
【发布时间】:2012-09-24 10:20:00
【问题描述】:

我很确定我的问题是一个提示,但我找不到任何解决方案。

我有一个 Word 插件解决方案,我想在其中打开一个与 vsto 文件不在同一目录的 Word 文档。

这是我打开word文件的代码:

object filename = Globals.ThisDocument.workingDirectory + Globals.ThisDocument.Id.ToString() + Constants.EXTENSION;
object missing = System.Reflection.Missing.Value;
Document doc = Globals.ThisDocument.Application.Documents.Open(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

在我的示例中:.vsto 文件位于bin/debug,我的word 文档位于bin/debug/save

但我得到了这个错误:

加载 .vsto 文件失败

当然,因为 .vsto 文件和 word 文件不在同一个地方! ...

有什么想法吗?

【问题讨论】:

  • 您是否尝试通过调试窗口查看文件名和缺失的值?使用 Watch 窗口,看看你在这两个窗口中得到了什么。
  • 您的项目中是否有一个 Save 文件夹,其中添加了 Word 文档,并且其 复制到输出目录 属性设置为 Copy Always?如果不是 - 那么您需要将项目输出添加到 Click-Once 部署中。您不能手动将文件夹添加到 Debug 文件夹并期望它包含在部署中。
  • @SliverNinja 这不是问题,事实上,我想打开一个包含代码的文档,该文档位于初始文档和 .vsto 文件之外的其他文件夹中,但我得到了这个错误,明白了?

标签: c# ms-word vsto clickonce


【解决方案1】:

我自己找到答案,

事实上,当一个文档以 VSTO C# 代码保存时,vsto 文件的位置存储在 Word Xml 结构中。

所以别管你的 docx 被存储了,他们会找到他们的 vsto 文件。

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多