外部アプリケーションから ArcGIS を制御する方法

'外部アプリケーションから起動しているArcGISアプリケーションを制御するには,IAppROTを使用する。アプリケーション内のコマンドを実行するには,ツールバーに追加しておく必要がある。マクロを実行する際も同様。

'下のコード例は,Projectテンプレート内のThisDocumentモジュールに作成したMyMacroプロシージャを実行する例。

Private Sub Command1_Click()
    Dim pAppROT As IAppROT
    Set pAppROT = New AppROT
    
    Dim pApplication As IApplication
    Set pApplication = pAppROT.Item(0)	'インデックス番号でアプリケーションを特定
    
    Dim pDocument As IDocument
    Set pDocument = pApplication.Document
    
    Dim pCommandBars As ICommandBars
    Set pCommandBars = pDocument.CommandBars
    
    Dim pCommandItem As ICommandItem
    Set pCommandItem = pCommandBars.Find("Project.ThisDocument.MyMacro")
    
    pCommandItem.Execute

End Sub