2

VB.net に次のコードがあります。

 Dim objWorkspace As Object
 Dim nrobjects As Integer
 Dim dataretrieved As Integer

 objWorkspace = GetObject("", "Workspace.Application")
 objWorkspace.Documents.Open("d:\testimage.grf")

 nrobjects = objWorkspace.Parent.ActiveDocument.ActiveWindow.Application.ActiveDocument.Page.ContainedObjects.Count
 Dim info() As PropertyInfo   

 For Each Item In  objWorkspace.Parent.ActiveDocument.ActiveWindow.Application.ActiveDocument.Page.ContainedObjects
   testvar = Item
   info = testvar.GetType().GetProperties()
 Next

小さなスクリプトは、フォーム上のボタンに接続されています。ボタンを押すと、カスタム プログラム (ワークスペース) が開き、テスト イメージが読み込まれます。この部分は機能します。

次に、読み込まれた画像のオブジェクトの数を取得しようとします。これも機能しますが、プロパティを取得しようとすると、常に何も取得されません。

デバッグモードでテストしました。ウォッチを使用して objWorkspace にアクセスしようとすると、「COM タイプ」という値が取得され、「動的」フィールドを押した場合にのみアクセスできるコンテンツ「展開すると、すべてのメンバーが動的に評価されます」。

コード内でフィールドに動的にアクセスするにはどうすればよいですか?

4

0 に答える 0