1

我想从 ABAP 调用 ActiveX DLL 或 OLE2 对象。

我已经知道如何实例化对象和执行方法的语法:

data: my_object type ole2_object.

create object my_object <ole2object>.

call method of my_object <objectmethod>.

但是给定一个特定的应用程序,我怎么知道这是否受支持,ole2objectobjectmethod的值/名称是什么?

Transaction SOLE 提供了一个 OLE 应用程序表,其中有 Excel.Application 我知道它可以被实例化为一个 OLE 对象,所以看起来你必须先将 OLE2 应用程序添加到这个表中,但是我在哪里可以再次阅读来自 CLSID 和 LibType 之类的数据 - 它是否作为应用程序的一部分发布?

4

2 回答 2

2

对象来自表 TOLE。它们的方法和属性存储在表 OLELOAD 中。

前段时间我发现了一些文档(这个这个),其中包含有关如何找到属性和方法的指示。

CLSID 上的指示很简洁,但它似乎是带有 HKEY_CLASS_ROOt/CLSID 的寄存器中的值,与指示的应用程序一起使用(例如 VISIO.APPLICATION)。如果您使用 regedit 搜索此应用程序值,您将找到相应的 CLSID。

希望它能帮助
纪尧姆

于 2010-05-24T11:21:25.947 回答
1

在这种情况下,您只是使用 OLE2 来访问 COM 接口。如果您想访问 Office 应用程序,您可能需要查看KB222101。对于其他应用程序和库,您将需要 API 文档、一些合适的示例(不一定在 ABAP 中,VB 就可以了)。用尖棒戳开发者或他们三个……

哦,MiTeC 有一个名为 OLE/COM Object Explorer 的工具,可以从他们的网站免费下载。我自己没用过,但看起来它可能会有所帮助。

于 2010-05-24T11:06:40.730 回答