FAQ
フィーチャの選択セットを切り替える方法

ナレッジ番号:5448 | 登録日:2023/07/27 | 更新日:2024/12/02

【概要】

このサンプル・コードはArcMapにある選択セットの切り替えボタンと同じ機能です。


【手順】

ISelectionSetインタフェースのCombineメソッドにesriSetDifferenceを渡すことによって、
レイヤ内の選択セットと全フィーチャの差分を取得します。

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

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

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

     
    
    Sub SwitchSelection()  
    
    
      Dim pDoc As IMxDocument
      Set pDoc = ThisDocument
    
    Dim pMap As IMap Set pMap = pDoc.FocusMap ' FeatureSelectionを取得します。 Dim pFLayer As IFeatureLayer Set pFLayer = pMap.Layer(0) Dim pFSel As IFeatureSelection Set pFSel = pFLayer ' 選択セットを取得します。 Dim pSelFeats As ISelectionSet Set pSelFeats = pFSel.SelectionSet Debug.Print "選択フィーチャ数:" & pSelFeats.Count ' 全てのフィーチャ・セットを取得します。 Dim pAllFeats As ISelectionSet Set pAllFeats = pFLayer.FeatureClass.Select(Nothing, _ esriSelectionTypeIDSet, esriSelectionOptionNormal, Nothing) Debug.Print "全フィーチャ数:" & pAllFeats.Count ' 選択セットを切り替えます。 Dim pNewSel As ISelectionSet pAllFeats.Combine pSelFeats, esriSetDifference, pNewSel Debug.Print "切り替えた選択フィーチャ数:" & pNewSel.Count Set pFSel.SelectionSet = pNewSel pDoc.ActiveView.Refresh End Sub

  5. Visual Basic Editorを閉じます。

  6. ArcMapへデータを追加し、いくつかのフィーチャを選択します。

  7. コードを実行します。

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

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

メタデータ

種類

機能

製品