How to activate and deactive tools programmatically


The ActivateTool VBA macro shows how to make the built-in ArcMap Identify tool the active tool in ArcMap. The built-in ArcID module is used to get the unique identifer of the command. The DeactivateTool VBA macro deactivates the current tool in ArcMap; the application's current tool is set to nothing.

How to use

  1. Paste these macros into a module in the Visual Basic Editor in ArcMap.
  2. Run the ActivateTool macro to make the Identify tool the active tool. Run the DecativateTool to make no tool active.
[VBA]
Sub ActivateTool()
    Dim pItem As ICommandItem
    Set pItem = Application.Document.CommandBars.Find(ArcID.Query_Identify)
    Set Application.CurrentTool = pItem
End Sub

Sub DeactivateTool()
    Set Application.CurrentTool = Nothing
End Sub