【问题标题】:Searching a word in a document in C# is errors在 C# 中搜索文档中的单词是错误的
【发布时间】:2019-07-01 07:37:24
【问题描述】:

我编写了以下代码:在文档中搜索一个单词,该单词在控制台应用程序中可以正常工作,但在我单击按钮时无法在 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:检索 COM 类工厂 对于具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件失败 由于以下错误:80070005 访问被拒绝。 (例外 HRESULT: 0x80070005 (E_ACCESSDENIED))。

我在论坛上看了很多资料,都按照文章里写的做了,没有任何帮助,错误没有消除。

1.DCOM Error : Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.

2.Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046}

【问题讨论】:

  • 它在 IIS 上运行对吗?它是 asp.net aspx 应用程序或 MVC。您是否保存在您的文件位置?
  • @Saravanakumar Natarajan "asp.net aspx application" - 文件位置是 URL sp-test/sites/test/Shared%20Documents/Base.docx,但控制台应用程序正在运行。
  • 使用的Microsoft.Office.Interop.Word dll是什么版本
  • 版本 15.0.0.0
  • 我正在尝试使用此代码 asp.net 应用程序。我没有收到此错误。

标签: c#


【解决方案1】:

你能试试这个吗

第一步:

参考此链接:Interop.Word Documents.Open is null

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

打开 DCOM 配置设置:

  1. 开始 -> dcomcnfg.exe

  2. 计算机

  3. 本地计算机

  4. 配置 DCOM

  5. 搜索 Microsoft Word 97-2003 文档 -> 属性 标签标识,从启动用户更改为交互用户

第二步:

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

第三步:

转到 IIS 服务器,将 Application Pool 像下面的 ConfigurationMap 添加到您的网站或应用程序。

【讨论】:

  • 我尝试了你的解决方案,没有任何改变,我重新安装了 MS Office (((
猜你喜欢
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多