ふと、ArcGISで利用できるツールボックスの数がいくつあるのか数えたくなりました。 ESRIジャパンの製品資料によると基本ライセンスのツール数は掲載されてたのですが、エクステンションで利用できるツール数が分からなかったので数えてみました。手で数えるのが面倒だったので数を求めるメソッドを探してたら方法がありました。
下のコードをArcMapのVBAに貼り付けて、マクロ”GetArcToolboxCount”を実行してください。ツールボックスのファイル名は、ArcMapやArcCatalogでArcToolboxウィンドウを開き、各ツールボックスのプロパティから確認できます。
'ツールボックス内のツール数カウント Public Sub GetArcToolboxCount() 'Toolboxファイル Dim strSystemToolboxName As String strSystemToolboxName = InputBox("システム ツールボックスのファイル名を入力してください。", , "Spatial Analyst Tools.tbx") If strSystemToolboxName = "" Then Exit Sub<br /><br /> 'ToolboxWorkspaceFactoryの作成 Dim pToolboxWorkspaceFactory As IWorkspaceFactory Set pToolboxWorkspaceFactory = New esriGeoprocessing.ToolboxWorkspaceFactory 'ToolboxWorkspaceの作成 Dim pToolboxWorkspace As IToolboxWorkspace Set pToolboxWorkspace = pToolboxWorkspaceFactory.OpenFromFile("C:\Program Files\ArcGIS\ArcToolbox\Toolboxes", 0) '名前によるToolboxの取得 Dim pGPToolbox As IGPToolbox Set pGPToolbox = pToolboxWorkspace.OpenToolbox(strSystemToolboxName) Dim pEnumGPTool As IEnumGPTool Set pEnumGPTool = pGPToolbox.Tools pEnumGPTool.Reset<br /><br /> Dim pGPTool As IGPTool Set pGPTool = pEnumGPTool.Next Dim i As Long i = 0 'ループ Do Until pGPTool Is Nothing i = i + 1 Set pGPTool = pEnumGPTool.Next Loop MsgBox i, , strSystemToolboxName Debug.Print strSystemToolboxName, i End Sub
結果このようになりました。
- 3D Analyst Tools.tbx 74
- ArcPad Tools.tbx 4
- Geocoding Tools.tbx 5
- Geostatistical Analyst Tools.tbx 11
- Network Analyst Tools.tbx 18
- Spatial Analyst Tools.tbx 167
- Tracking Analyst Tools.tbx 2
- Cartography Tools.tbx 20
- Server Tools.tbx 7
- Samples.tbx 13
- Schematics Tools.tbx 5
- Data Management Tools.tbx 175
- Multidimension Tools.tbx 7
- Mobile Tools.tbx 2
- Linear Referencing Tools.tbx 7
- Analysis Tools.tbx 19
- Spatial Statistics Tools.tbx 25
- Conversion Tools.tbx 36
- Coverage Tools.tbx 56
Coverage Tools.tbxだけは、tbxファイルが保存されているパスが異なる("C:\Programs\ArcGIS\arcexe9x\Toolboxes")ので、IWorkspaceFactory::Openの引数を修正する必要があります。