操作失败,由于库未注册,对IID接口的COM组件上的QueryInterface调用失败。

6 浏览
0 Comments

操作失败,由于库未注册,对IID接口的COM组件上的QueryInterface调用失败。

在将MyApp.Visible设置为false的这一行,我遇到了以下未处理的异常:

System.InvalidCastException类型的未处理异常在GridComplete.exe中发生

附加信息: 无法将类型为'Microsoft.Office.Interop.Excel.ApplicationClass'的COM对象强制转换为接口类型'Microsoft.Office.Interop.Excel._Application'。此操作失败,因为针对接口IID '{000208D5-0000-0000-C000-000000000046}'的COM组件的QueryInterface调用失败,原因是出现了以下错误: 库未注册。(来自HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)的异常)。

**我似乎无法弄清楚发生了什么。我尝试从注册表中删除键并重新运行,但没有成功。我还完全卸载了Microsoft Office,然后重新安装。我不确定还能做什么来解决这个问题。

0
0 Comments

出现(Operation failed, QueryInterface call on the COM component for the interface with IID failed due to Library not registered)这个问题的原因可能是您在运行代码的计算机上没有安装指定版本的Microsoft Excel,或者安装的版本损坏了。请尝试重新安装Office来解决这个问题。

0
0 Comments

这个问题的原因是注册表中的版本信息不正确。我曾经安装了Office 365,后来卸载了它,并安装了Office 2010。因此注册表中有两个项目,但只有一个可以正常工作。

首先,你可以打开注册表编辑器,但是务必通过“文件 -> 导出 -> 选择导出范围为全部”进行备份。

其次,你可以通过“Ctrl + F”查找项“{000208D5-0000-0000-C000-000000000046}”,选择它并获取“TypeLib”的值,记住这个值。在我的电脑上,它是1.7,我猜它是为了Office 2010,即当前安装的Office。

然后进入HKEY_CLASSES_ROOT\TypeLib,选择项“{00020813-0000-0000-C000-000000000046}”并展开,我有两个子项,一个是1.7,另一个是空的1.9。在我删除1.9之后,程序可以正常工作。

相关信息:[中文链接](https://answers.microsoft.com/zh-hans/windows/forum/all/%E6%8A%A5%E9%94%99%E4%BF%A1%E6%81%AF/5281f50d-25f2-4eb0-91ad-2bd97cf0f762)

0