FAQ
UIButtonControlからジオプロセシングのモデルを実行することはできますか?

ナレッジ番号:5481 | 登録日:2023/07/27 | 更新日:2024/11/21

【質問】

UIButtonControlからジオプロセシングのモデルを実行することはできますか?


【回答】

はい。以下のArcObjectsコードをUIButtonControlのClickイベントに割り当ててください。
以下のサンプルはカスタム・モデルあるいは既存のツールを実行する方法を示します。
このコードはArcCatalogで実行するように設計されていますが、ArcMapで実行するように変更することも可能です。

ユーザが作成したモデルを実行する場合、以下の行のコメントを解除します。


Set pTool = pAtb.GetToolbyNameString("MyModel")


そして"MyModel"の部分を作成したモデル名に変更します。


Private Sub UIButtonControl1_Click() 
'[ツール] > [参照設定]でESRI GeoprocessingUI Object Libraryへの
'参照が設定されていることを確認してください。

  


Dim pApp As IGxApplication
  Set pApp = Application

  Dim pUID As New UID
  pUID = "esriGeoprocessingUI.ArcToolboxExtension"

  Dim pATBExt As IArcToolboxExtension
  Set pATBExt = Application.FindExtensionByCLSID(pUID)

  Dim pAtb As IArcToolbox
  Set pAtb = pATBExt.ArcToolbox

  Dim pTool As IGPTool

  '* カスタム・ツールやカスタム・モデルの場合はこちらの行を使用します。
  '* ========================================
  ' Set pTool = pAtb.GetToolbyNameString("MyModel")

  '* 既存ツールの場合はこちらを使用します。
  '* ================================
  Set pTool = pAtb.GetToolbyNameString("buffer_analysis")

  Dim pCommand As IGPToolCommandHelper
  Set pCommand = New GPToolCommandHelper
  pCommand.SetTool pTool
  pCommand.Invoke Nothing 

End Sub

メタデータ

機能

種類

製品