3

私は暗闇の中で働いています。レポートのライブラリへのプログラムによるアクセスを可能にする、会社の父親によって私の PC にインストールされたアプリケーションがあります。アプリケーションのプロパティやメソッドを教えてもらうことができません (いくつかのスクリプトで見つかったいくつかのメソッドを除いて....)。

アプリケーションにアクセスするために 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 に変更できますが、管理されていないアプリケーションであると想定しているものを呼び出す経験はありません....

4

2 に答える 2

1

TlbInf32.dll (TLI) を使用して、ターゲット アプリケーションのパブリック メンバーを検査できます。http://msdn.microsoft.com/en-us/magazine/bb985086.aspxは良いスタートのようです。

または、オブジェクト ブラウザーを使用して (VBE で参照した後)、TLI 自体を調べます。

于 2013-10-10T13:21:35.297 に答える