Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C程序打开Word应用程序,但不是特定的Word文档_C#_Ms Word_Interop_Docx - Fatal编程技术网

C# C程序打开Word应用程序,但不是特定的Word文档

C# C程序打开Word应用程序,但不是特定的Word文档,c#,ms-word,interop,docx,C#,Ms Word,Interop,Docx,下面的代码应该在我的windows目录中打开一个.docx文件,但它没有打开该文件,而是只打开Word应用程序。里面没有活动的word文档,甚至没有新文档。我注意到,在“文件”选项卡下,诸如“保存”、“另存为”、“打印”、“共享”、“导出”和“关闭”等选项都显示为灰色且处于非活动状态 using Microsoft.Office; using Word = Microsoft.Office.Interop.Word; class Program { static void openFi

下面的代码应该在我的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();
    }
}

运行代码但路径不存在确实会打开Word应用程序,其中没有文档。但它确实引发了一个非常有用的异常,如下所示:

System.Runtime.InteropServices.COMException:'抱歉,我们找不到 你的档案。它是否被移动、重命名或删除? C:\Users\nonexistantuser…\Test.docx'

你在问题中没有提到这一点,但你必须得到一个例外

所以我猜你的路径是错误的

如果路径正确,即文件存在,则另一种可能的情况是没有适当的读取权限。在这种情况下,它会再次打开一个空单词应用程序,但这也会引发一个异常,尽管是另一个异常:

System.Runtime.InteropServices.ComeException:'Word无法打开文档:用户没有访问权限 C:\Users\NS799\Desktop\Test.docx'


因此,请检查路径是否存在,以及是否存在,如果您有适当的权限。

我运行了代码,它可以很好地打开我的文件。openFile函数的最后一行是否引发异常?我尝试了一个myText不存在的路径,在这种情况下,它确实打开了一个没有文档的空Word应用程序,但它确实在提到的行引发了一个异常。文件路径可能是错误的。没有异常。文件路径绝对正确,文档存在。当我将文件移动到任何其他目录时,问题仍然存在。即使我将路径名更改为不存在的内容,它仍然会像以前一样打开Word应用程序,不会出现错误。我还查看了我在c中引用的microsoft office对象库的版本,它是15.0。我的电脑上office目录中的对象库文件也是15.0。我怀疑这可能是我的话的兼容性问题,但从我的检查来看,情况似乎并非如此。