首页 文章

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

提问于
浏览
0

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

1 回答

  • 1

    运行您的代码,但使用不存在的路径确实打开Word应用程序,里面没有文档 . 但它确实抛出了一个非常有益的例外如下:

    System.Runtime.InteropServices.COMException:'抱歉,我们找不到您的文件 . 是移动,重命名还是删除? (C:\用户\ nonexistantuser ... \ Test.docx)”

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

    所以我的猜测是你的路径不正确 .

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

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

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

相关问题