FAQ
IGxDialogを使用してArcMapにレイヤを追加する方法

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

【概要】

GxDialogオブジェクトはArcMapやArcCatalogにファイル・ブラウザ機能を提供するために使用します。
またIGxObjectFilterインタフェースはブラウザに表示されるデータ・タイプを制限するフィルタを作成します。

以下にGxDialogとシェープファイルのオブジェクト・フィルタを使用して
ArcMapにシェープファイルを追加する方法を示します。


【手順】

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

  3. プロジェクト・エクスプローラ・ウィンドウで、Projectの下にあるArcMap Objects > ThisDocumentをダブルクリックし、コード・ウィンドウを開きます。

  4. コード・モジュールに次のコードをペーストします。

    
    Sub AddShapefile()
      Dim pGxDialog As IGxDialog
      Dim pEnumGxObj As IEnumGxObject
      Dim pGxObj As IGxObject
      Dim pGxFilter As IGxObjectFilter
      Set pGxFilter = New GxFilterShapefiles
    
      Set pGxDialog = New GxDialog
      pGxDialog.AllowMultiSelect = True
      pGxDialog.StartingLocation = "C:\"
      pGxDialog.Title = "シェープファイルの追加"
      pGxDialog.ButtonCaption = "追加"
      Set pGxDialog.ObjectFilter = pGxFilter
    
      pGxDialog.DoModalOpen 0, pEnumGxObj
      Set pGxObj = pEnumGxObj.Next
    
      ' マップにフィーチャクラスを追加します。
      Dim strWorkspaceName As String
      Dim strFeatureClassName As String
      strWorkspaceName = pGxObj.Parent.FullName
      strFeatureClassName = pGxObj.BaseName
    
      Dim pMxDocument As IMxDocument
      Dim pMap As IMap
      Dim pLayer As IFeatureLayer
      Dim pWF As IWorkspaceFactory
      Dim pWs As IWorkspace
      Dim pFW As IFeatureWorkspace
      Dim pDataset As IDataset
      Dim pFDataset As IFeatureDataset
      Dim pFc As IFeatureClass
    
      Set pWF = New ShapefileWorkspaceFactory
      Set pWs = pWF.OpenFromFile(strWorkspaceName, 0)
    
      'QI
      Set pFW = pWs
    
      ' 新規レイヤを作成し、そのフィーチャクラスを設定します。
      Set pFc = pFW.OpenFeatureClass(strFeatureClassName)
      Set pLayer = New FeatureLayer
      Set pLayer.FeatureClass = pFc
      pLayer.Name = strFeatureClassName
    
      ' マップにレイヤを追加します。
      Set pMxDocument = ThisDocument
      Set pMap = pMxDocument.FocusMap
      pMxDocument.AddLayer pLayer
    End Sub
    
    

  5. Visual Basic Editorを閉じます。

  6. マクロを実行します。

    A:ArcMapで、ツール > マクロ > マクロと選択し、マクロ・ダイアログを表示します。

    B:マクロを選択し、実行をクリックします。

メタデータ

機能

種類

製品