我想从ABAP调用ActiveX DLL或OLE2对象。
我已经知道如何实例化对象的语法&执行方法:
data: my_object type ole2_object.
create object my_object <ole2object>.
call method of my_object <objectmethod>.
但是考虑到特定的应用程序,我如何知道这是否受支持, ole2object 和 objectmethod 的值/名称是什么?
事务SOLE提供了一个OLE应用程序表,其中包括Excel.Application,我知道它可以实例化为OLE对象,因此看起来你必须首先将OLE2应用程序添加到此表中,但是再次在哪里可以我读了像CLSID&amp; LibType from - 是作为应用程序的一部分发布的吗?
答案 0 :(得分:2)
对象来自表TOLE。他们的方法和属性存储在表OLELOAD中。
我前段时间发现了一些文档(this one和this one),其中包含了如何找到属性和方法的说明。
CLSID上的指示是succint,但它似乎是HKEY_CLASS_ROOt / CLSID的寄存器中的值与指示的应用程序一致(例如,VISIO.APPLICATION例如)。如果使用regedit搜索此应用程序值,您将找到相应的CLSID。
希望它能帮助你 纪尧姆
答案 1 :(得分:1)
在这种情况下,您只是使用OLE2来访问COM接口。如果您要访问Office应用程序,可能需要查看KB222101。对于其他应用程序和库,您需要API文档,一些合适的示例(不一定在ABAP中,VB就可以了)。用尖头棍子戳开发者或其中三个......
哦,MiTeC有一个名为OLE / COM对象资源管理器的工具,可以是downloaded for free from their website。没有自己使用它,但看起来它可能会有所帮助。