Monday, 6 April 2015

arcgis desktop - Running Model within ArcMap using VBA?


I would like to Run/execute a model within ArcMap 9.3.1 vba. I can run it in vba by exporting out the VBS script and importing it into vba, however I'm wondering if there is an easier way to just call the model by where it is located instead of using the VBS script (e.g. see below).


Run "C:\Data\New File Geodatabase.gdb\Toolbox\Model"



Answer



This code will run existing tools or models that your create:


Private Sub opentool_Click()
'Ensure that there are references set to the
'ESRI GeoprocessingUI Object Library and the
'ESRI Geoprocessing Object Library.
'Go to Tools > References to do this


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

'* Use this line for custom tools or models
'* ========================================
Set pTool = pAtb.GetToolbyNameString("Model8")

'* Use this line for existing tools
'* ================================
'Set pTool = pAtb.GetToolbyNameString("buffer_analysis")


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

End Sub

Right click on your tool in ArcToolox and go to properties to find the model name. alt text


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...