下面的代码应该在我的Windows目录中打开.docx文件,但它不打开文件,而只打开Word应用程序。里面没有活动的word文档,甚至没有新的文档。我注意到在"文件选项卡选项下保存,另存为,打印,共享,导出和关闭"都是灰色的,不活跃的。
using Microsoft.Office;
using Word = Microsoft.Office.Interop.Word;
class Program
{
static void openFile()
{
string myText = @"C:\CSharp\WordDocs\MyDoc.docx";
var wordApp = new Word.Application();
wordApp.Visible = true;
wordApp.Activate();
Word.Documents book = wordApp.Documents;
Word.Document docOpens = book.Open(myText);
}
static void Main(string[] args)
{
//Console.WriteLine("Hello World\n");
openFile();
}
}
答案 0 :(得分:1)
运行代码但使用不存在的路径确实打开了Word应用程序而内部没有文档。但它确实引发了一个非常有益的例外如下:
System.Runtime.InteropServices.COMException:'抱歉,我们无法找到 你的档案。是移动,重命名还是删除? (C:\ Users \用户nonexistantuser ... \ Test.docx)'
你没有在你的问题中提到这一点,但你必须得到例外。
所以我的猜测是你的路径不正确。
如果路径正确,即文件存在,则另一种可能的情况是没有适当的读取权限。在这种情况下,它会打开一个空的Word应用程序,但是这也应该抛出一个异常,尽管是另一个异常:
System.Runtime.InteropServices.COMException:' Word无法打开文档:用户没有访问权限 (C:\用户\ NS799 \桌面\ Test.docx)'
因此,如果您有相应的权限,请检查路径是否存在以及是否存在。