0

我正在尝试使用 Microsoft.Office.Interop.Word 命名空间来对 docx 文件进行一些操作,特别是以编程方式合并它们。

我创建了一个简单的测试工具来尝试一些功能,尽管文件位于执行目录中,但我收到了一个找不到文件的错误。

我要做的就是合并两个 docx 文件,分别是 doc1.docx 和 doc2.docx。我现在只是在玩这个功能,所以我创建了一个简单的 C# 控制台应用程序并具有以下内容:

使用 Word = Microsoft.Office.Interop.Word;

//and in my method:
object defaultTemplate = @"Normal.dotm";
object missing = System.Type.Missing;
object outputFile = "out.docx";


Word.Application wordApplication = new Word.Application();
//using the default Word template
Word._Document wordDocument = wordApplication.Documents.Add(defaultTemplate);
Word.Selection selection = wordApplication.Selection;
//add files manually. THIS is where things are failing
selection.InsertFile("doc1.docx");
selection.InsertFile("doc2.docx");

我收到一条异常消息“找不到此文件”。在我第一次调用 InsertFile() 时。我确定这些文件存在于我的调试目录中,这是该程序运行的位置。MSDN 明确指出,如果您不提供带有参数的路径,它将使用当前目录。它发现模板 Normal.dotm 很好。我觉得我在这里错过了一些简单的东西,但是已经搞砸了半个多小时,没有运气。有人对我应该在这里做什么有任何建议吗?谢谢阅读!

4

2 回答 2

1

确保您的路径可用。使用GetCurrentDirectory()以确保您当前的目录是您想要的。否则使用完整路径。

于 2012-07-20T18:01:33.957 回答
1

您可能还需要设置默认文件路径。

MyWordApp.Application.Options.set_DefaultFilePath()
于 2012-07-20T18:06:33.890 回答