我用Microsoft.Office.Interop.Word.ApplicationClass 实例化word对象 myWordApp 当程序运行时只启动了word进程,但是页面就静止不动了运行不下去了。
我的程序如下:   object strFileName;
    Object Nothing;
    Microsoft.Office.Interop.Word.ApplicationClass myWordApp;
    Document myWordDoc;
    string strContent = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        createWord();
    }
    private void createWord()
    {       strFileName = Request.PhysicalApplicationPath+"test.doc";
        Object Nothing = System.Reflection.Missing.Value;
        if (System.IO.File.Exists((string)strFileName2))
        {
           myWordDoc = myWordApp.Documents.Add(ref strFileName , ref Nothing, ref Nothing, ref Nothing);
        }
    }
程序就是运行到红色字体处就没有响应了,但是程序没有发生任何错误和异常。
需要重点说明的是我的程序是B/S,同样的程序在C/S下是可以正常运行的,而且我的dcom权限配置也没问题。
请教高手们怎么解决!!!!!!!
急!!!!!!!!!!!!!!!另外我用myWordApp = (Microsoft.Office.Interop.Word.ApplicationClass) Microsoft.VisualBasic.Interaction.GetObject("", "Word.Application");
这个来实例化时报错如下:无法将类型为“System.__ComObject”的 COM 对象强制转换为类类型“Microsoft.Office.Interop.Word.ApplicationClass”。进入 CLR 且不支持 IProvideClassInfo 或没有注册任何互操作程序集的 COM 组件都将包装在 __ComObject 类型中。这种类型的实例不能强制转换为任何其他类;不过,只要基础 COM 组件支持对接口 IID 的 QueryInterface 调用,就能将这些实例强制转换为接口。

解决方案 »

  1.   

    设置microsoft word 的访问权限操作
    在运行里面输入dcomcnfg 命令,弹出组件服务窗口,在组建服务-〉计算机-〉我的电脑-〉dcom配置中找到 Microsoft word 文档项,点右键选择属性如下图所示:
     
    点击"标识"标签,选择"交互式用户" 
    点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限。
    依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限。
    这样,我们便配置好了相应的Excel的DCOM权限。
    注意:我是在WIN2003上配置的,在2000上,是配置ASPNET用户。
    最后祝你安装成功!
      

  2.   

    设置成交互用户连word进程都开不了。
    NETWORK 和NETWORK SERVICE有区别吗,我只找到一个NETWORK 
      

  3.   

    另外我给EveryOne加了所有权限还不行吗?