• 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”


    office修复真实案例

    1. 用户无法预览word

    客户电脑上安装的客户端无法正常预览word,并报错;

    电脑参数:

    1. Windows版本:Windows 10 企业版 2015 长期服务方案

    2. 处理器:Intel(R) Core(TM) i5-4590S CPU @ 3.00GHz 3.00GHz

    3. 内存:8.00 GB

    4. 系统类型:64 位操作系统,基于 x64 的处理器

    5. office 版本:2013

    错误详情:

    2020-04-24 11:47:19,425 DEBUG [][0]- 正要使用Word应用打开文件C:UsersAdministratorDocuments移动授课魏林七年级1班语文20200424113510人教部编版七年级上册1 .1《春》 教学案.doc。
    2020-04-24 11:47:24,967 ERROR [][0]- word转换pdf失败,无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
       在 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
       在 Microsoft.Office.Interop.Word.ApplicationClass.get_Documents()
       在 EasyClassServer.Widgets.OfficeFileHandler.WordToPDF(String sourcePath, String targetPath)
    2020-04-24 11:47:24,980 ERROR [][0]- 打开word错误,无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。System.InvalidCastException: 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。
       在 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
       在 Microsoft.Office.Interop.Word.ApplicationClass.Quit(Object& SaveChanges, Object& OriginalFormat, Object& RouteDocument)
       在 EasyClassServer.Widgets.OfficeFileHandler.WordToPDF(String sourcePath, String targetPath)
       在 EasyClassServer.Widgets.OfficeFileHandler.<>c__DisplayClass41_0.<OpenWordFile>b__0()
    
    

    解决方案

    猜测是由于电脑之前安装过 Office 或者 WPS,卸载不干净导致。

    1. 打开注册表,找到 HKEY_CLASSES_ROOTTypeLib{00020905-0000-0000-C000-000000000046}

    2. office 2007 对应 8.4,office2010对应 8.5,office2013对应 8.6,office2016、2019对应 8.7。当时机器上除了8.6,还有一个空的 8.7,将 8.7 删除后就可以了。

  • 相关阅读:
    spark的map和mapPartitions
    scala 语法速查
    spark 在yarn模式下提交作业
    spark的wordcount
    spark安装
    hadoop mapreduce求解有序TopN(高效模式)
    hadoop 自定义OutputFormat
    ONI无法启动: Uh oh! Unable to launch Neovim...
    Macbook外接显示器模糊解决方法
    macOS: sudo : Operation not permitted
  • 原文地址:https://www.cnblogs.com/fanful/p/12778602.html
Copyright © 2020-2023  润新知