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 タイプ」という値が取得され、「動的」フィールドを押した場合にのみアクセスできるコンテンツ「展開すると、すべてのメンバーが動的に評価されます」。
コード内でフィールドに動的にアクセスするにはどうすればよいですか?