首页 > 解决方案 > 在 C# 中搜索文档中的单词是错误的

问题描述

我编写了以下代码:在文档中搜索一个单词,该单词在控制台应用程序中没有问题,但在我单击按钮时在 ASP.NET 应用程序中不起作用:

using Microsoft.Office.Interop.Word;

 Application objWordApp = new Application();
                objWordApp.Visible = false;
                object missing = System.Reflection.Missing.Value;
                Document objDoc;
                objDoc = objWordApp.Documents.Open(fileURL, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing);

                object findText = "Tags";

                objDoc.Content.Find.ClearFormatting();
                try
                {
                    if (objDoc.Content.Find.Execute(ref findText,
                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing))
                    {
                        Console.WriteLine("Text found: Name document - " + "'" + docTitle + "'");
                    }
                    objDoc.Close(ref missing, ref missing, ref missing);
                    objWordApp.Application.Quit(ref missing, ref missing, ref missing);
                }
                catch (Exception ex)
                {
                    objDoc.Close(ref missing, ref missing, ref missing);
                    objWordApp.Application.Quit(ref missing, ref missing, ref missing);
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                test11.Text = ex.ToString();
            }

System.UnauthorizedAccessException:由于以下错误,检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005 访问被拒绝。(HRESULT 例外:0x80070005 (E_ACCESSDENIED))。

我在论坛上查看了很多信息,按照文章中的内容进行了所有操作,没有任何帮助,错误没有消除。

1. DCOM 错误:检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80070005。

2.检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂

标签: c#

解决方案


你能试试这个吗

第1步:

参考此链接:Interop.Word Documents.Open 为空

如果您仍在寻找答案,我刚刚为我的项目找到了答案。

打开 DCOM 配置设置:

  1. 开始 -> dcomcnfg.exe

  2. 电脑

  3. 本地计算机

  4. 配置 DCOM

  5. 搜索 Microsoft Word 97-2003 Documents -> Properties Tab Identity,从 Launching User 更改为 Interactive User

第2步:

转到您的项目进行以下更改..

在此处输入图像描述

第三步:

转到IIS 服务器,将应用程序池(如下面的配置映射)添加到您的站点或应用程序中。

在此处输入图像描述


推荐阅读