在OLE应用程序的黑暗中工作

时间:2013-10-08 15:54:50

标签: object access-vba typelib

我在黑暗中工作。公司父亲在我的电脑上安装了一个应用程序,允许以编程方式访问报告库。我不能让任何人告诉我应用程序的属性或方法(除了在一些脚本中找到的几种方法......)

我正在使用Access VBA访问应用程序,它会加载它(它在执行CreateObject()语句时显示GUI。)

一旦我调用它,我怎么能让它列出它的属性和方法?您可以看到我的努力,但在执行“for each”语句时,它无法说“对象不支持此属性或方法”。

Sub StartDataNav()
  Set oleDataNav = CreateObject("DataNavigator.Application")
  Dim p As Object
  For Each p In oleDataNav.Properties

  Next p

End Sub

如果需要,我可以更改为C#.net,但是我没有那么有经验地调用我假设的非托管应用程序....

2 个答案:

答案 0 :(得分:1)

您可以使用TlbInf32.dll(TLI)检查目标应用程序的公共成员。 http://msdn.microsoft.com/en-us/magazine/bb985086.aspx似乎是一个良好的开端。

或者只是使用对象浏览器检查TLI本身(在VBE中引用它之后)。

答案 1 :(得分:1)

在你的线上设一个断点

Dim p As Object

并打开本地窗口(查看 - >当地人)。

这将让您通过在本地窗口中展开oleDataNav对象来查看对象的所有属性。