Selection.InsertFile()尽管它在目录中,但没有找到文件

时间:2012-07-20 17:52:25

标签: c# console ms-word

我正在尝试使用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模板。我觉得我在这里错过了一些简单的东西,但是已经搞了半个多小时而没有运气。有没有人对我应该在这做什么有任何建议?谢谢阅读!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

MyWordApp.Application.Options.set_DefaultFilePath()