Excel ALBPM中的COM集成-找不到';{00020906-0000-0000-C000-0000000000 46}';
我正在尝试使用Office COM组件来创建Word和Excel文档。不幸的是,我不能做到这一点,因为我得到了一个错误 找不到的IDispatch “{00020906-0000-0000-C000-0000000000 46}” 模块内 “{00020905-0000-0000-C000-0000000000 46}”, v8.3 我尝试重新安装Office、我的应用程序(ALBPM)和我的界面(combsvc),但它不起作用 我想知道如何安装IDispatch,或者如何知道它是否安装在正确的模块中。有时错误会说: 找不到的IDispatch “{000209FF-0000-0000-C000-0000000000 46}” ... 而不是 00020906-0000-0000-C000-0000000000 46 我正在使用的生成这些错误的代码是:Excel ALBPM中的COM集成-找不到';{00020906-0000-0000-C000-0000000000 46}';,excel,com,ms-word,ms-office,albpm,Excel,Com,Ms Word,Ms Office,Albpm,我正在尝试使用Office COM组件来创建Word和Excel文档。不幸的是,我不能做到这一点,因为我得到了一个错误 找不到的IDispatch “{00020906-0000-0000-C000-0000000000 46}” 模块内 “{00020905-0000-0000-C000-0000000000 46}”, v8.3 我尝试重新安装Office、我的应用程序(ALBPM)和我的界面(combsvc),但它不起作用 我想知道如何安装IDispatch,或者如何知道它是否安装在正确的
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或这些注册表项的信息,我们将不胜感激,即使您可以告诉我在哪里可以找到更多关于此的信息
非常感谢。
丹尼尔。从您得到的错误中,我假设您使用的是Word 2003 您是否确保COM brigde服务已正确安装并运行
combsvc -install
combsvc -start
将combsvc注册为服务,然后启动它
还请看一下中第150页底部的Word示例
它有时工作,有时可能是ALBPM的一个问题。您是否正在使用最新版本和更新
另一个选项是Word自动化经常遇到的问题,即Word的自动化实例显示一个模式对话框,并等待用户交互。您可以通过设置
Application.DisplayAlerts = 0
然而,不幸的是,这并不能阻止所有弹出窗口的显示
实际上有Word启动的实例吗?如果是这样,您能否使窗口可见,并查看是否可以打开文档或是否有弹出窗口阻止应用程序?从您收到的错误中,我假定您使用的是Word 2003 您是否确保COM brigde服务已正确安装并运行
combsvc -install
combsvc -start
将combsvc注册为服务,然后启动它
还请看一下中第150页底部的Word示例
它有时工作,有时可能是ALBPM的一个问题。您是否正在使用最新版本和更新
另一个选项是Word自动化经常遇到的问题,即Word的自动化实例显示一个模式对话框,并等待用户交互。您可以通过设置
Application.DisplayAlerts = 0
然而,不幸的是,这并不能阻止所有弹出窗口的显示
实际上有Word启动的实例吗?如果是这样,您能否使窗口可见,并查看是否可以打开文档或是否有弹出窗口阻止应用程序?要检查PC上已安装的COM接口,我建议您下载oleview.exe,它是 实际上,我有{00020906-0000-0000-C000-0000000000 46},但也没有IDispatch接口,并且在尝试创建它的实例时出现“类未注册”错误。我的家用电脑没有安装office,只是安装了office工具,这很可能是原因
在过去,当自动化Office应用程序时,我总是能够与版本无关的ProgID(如“Excel.Application”)对话。您确定引用了正确的COM对象吗?请在oleview中查看它,或者给我们一些更多的代码,让我们在上面咀嚼:)要检查电脑上已安装的COM接口,我建议您下载oleview.exe,它是 实际上,我有{00020906-0000-0000-C000-0000000000 46},但也没有IDispatch接口,并且在尝试创建它的实例时出现“类未注册”错误。我的家用电脑没有安装office,只是安装了office工具,这很可能是原因 在过去,当自动化Office应用程序时,我总是能够与版本无关的ProgID(如“Excel.Application”)对话。您确定引用了正确的COM对象吗?在oleview中查看它,或者给我们提供更多的代码来咀嚼:)Daniel 我在暗中摸索。看起来您正在使用BEA systems Aqualogic BPM,我感觉它是一个基于Java的工具。从挖掘来看,combsvc实际上是一个COM桥服务,允许ALBPM从Java与COM对话: 我想这是你的失败点 关于您在IDispatch上的问题,您实际上并没有安装IDispatch。IDispatch是COM用于向后期绑定的COM自动化客户端(如脚本语言(如ASP或VBScript))公开对象、方法和属性的接口。它是COM基础设施的一部分,如果它被破坏了,你会发现你的机器有更多的问题 我可能会建议在这里提出一个问题: 丹尼尔 我在暗中摸索。看起来您正在使用BEA systems Aqualogic BPM,我感觉它是一个基于Java的工具。从挖掘来看,combsvc实际上是一个COM桥服务,允许ALBPM从Java与COM对话: 我想这是你的失败点 关于您在IDispatch上的问题,您实际上并没有安装IDispatch。IDispatch是COM用于向后期绑定的COM自动化客户端(如脚本语言(如ASP或VBScript))公开对象、方法和属性的接口。它是COM基础设施的一部分,如果它被破坏了,你会发现你的机器有更多的问题 我可能会建议在这里提出一个问题:
我使用的代码是这样的,但我甚至看不到第一个日志,所以我假设连接有错误,而不是代码
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
我使用的代码是这样的,但我甚至看不到第一个日志,所以我假设连接有错误,而不是cod