首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自ALBPM的COM集成-找不到“{00020906-0000-0000-C000-000000000046}”的IDispatch

来自ALBPM的COM集成-找不到“{00020906-0000-0000-C000-000000000046}”的IDispatch
EN

Stack Overflow用户
提问于 2009-01-15 23:49:21
回答 4查看 1.4K关注 0票数 0

我试图使用Office组件来创建Word和Excel文档。不幸的是,我无法做到这一点,因为我得到了一个错误。

无法在模块“{00020905-0000-0000-C000-000000000046}”中找到“{00020906-0000-0000-C000-000000000046}”的IDispatch,v8.3

我尝试重新安装Office、我的应用程序(ALBPM)和我的接口(combsvc),但它没有工作。

我想知道如何安装IDispatch,或者如何知道它是否安装在正确的模块中。有时错误会说:

无法找到“{000209FF-0000-0000-C000-000000000046}”的IDispatch .而不是00020906-0000-0000-C 000-000000000046

我使用的代码生成这些错误是:

代码语言:javascript
复制
wordAppl.visible = false
wordDocs = wordAppl.documents

contratoTemplate = "C:\\albpmFiles\\mandatory\\aTemplate.doc"
// .doc template
convenioTemplate = "C:\\albpmFiles\\mandatory\\ConvenioModificatorio.doc"
// .doc template
saveContrato = "C:\\albpmFiles\\temp\\"
// where to save.
saveConvenio = "C:\\albpmFiles\\temp\\"

contratoName = "NewContact.doc"
wordDoc = open(wordDocs, fileName : contratoTemplate)
bookmark = item(wordDoc.bookmarks, index : "atrDescripcion")

insertAfter bookmark.range
using text = instSolicitud.atrDescripcion
bookmark = item(wordDoc.bookmarks, index : "atrObjProveedor_atrNombre")
insertAfter bookmark.range
using text = instSolicitud.atrObjProveedor.atrNombre
bookmark = item(wordDoc.bookmarks, index : "atrObjProveedor_atrDireccion")
insertAfter bookmark.range
using text = instSolicitud.atrObjProveedor.atrDireccion
filename = saveContrato + contratoName

end

// Extras - Fin
saveAs wordDoc
using fileName = filename

任何关于IDispatch的信息,或者这些注册表条目,我们都非常感谢,即使你可以告诉我在哪里可以找到更多有关这方面的信息。

非常感谢。丹尼尔。

EN

回答 4

Stack Overflow用户

发布于 2009-01-16 00:04:38

从您得到的错误中,我假设您使用的是Word 2003。

您是否确保COM brigde服务的安装和运行正确?

代码语言:javascript
复制
combsvc -install
combsvc -start

将combsvc注册为服务,然后启动它。

也请看一下ALBPM参考指南中150页底部的Word示例。

事实上,它有时工作,有时可能是ALBPM的一个问题。您正在使用最新版本和更新吗?

另一个选项--也是Word自动化中经常出现的问题--将是Word的自动实例正在显示一个模态对话框,并且正在等待用户交互。通过设置,可以切换模态对话框的显示。

代码语言:javascript
复制
Application.DisplayAlerts = 0 

然而,不幸的是,这并不能阻止所有弹出窗口的显示。

实际上是否有开始使用Word的实例?如果是的话,您是否可以使窗口可见并查看是否可以打开文档,或者是否有弹出窗口阻止应用程序?

票数 2
EN

Stack Overflow用户

发布于 2009-01-16 00:36:06

丹尼尔,

我要在黑暗中试一试。看起来你使用的是BEA系统,我觉得它是一个基于Java的工具。从深入研究来看,combsvc实际上是一种COM桥接服务,允许ALBPM通过Java与COM对话:

Bridge.html

我想这就是你的失败之处。

关于您在IDispatch上的问题,您实际上并不安装IDispatch。IDispatch是COM使用的一个接口,用于向后期绑定的COM自动化客户端(例如ASP或VBScript)公开对象、方法和属性。这是COM基础设施的一部分,如果这一点被破坏了,那么您的机器会出现更多的问题。

我可能会建议在这里提出一个问题:

http://forums.oracle.com/forums/forum.jspa?forumID=560

票数 1
EN

Stack Overflow用户

发布于 2009-01-16 00:27:20

要检查您的PC上安装的COM接口,我建议您下载oleview.exe,它是Windows 2003资源工具包的一部分

我实际上有{00020906-0000-0000-C000-000000000046},但也没有IDispatch接口,并得到一个“类未注册”错误时,试图创建它的一个实例。我家里的PC没有安装office工具,这很可能是原因之一。

在过去,当自动化Office应用程序时,我总是能够与独立版本的ProgID对话,比如"Excel.Application“。确定引用正确的COM对象吗?在oleview中查看它,或者给我们提供更多的代码以供咀嚼:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/449016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档