FAQ
レイヤファイルのフィーチャクラスを変更する方法

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

【概要】

レイヤファイルが参照しているフィーチャクラスを変更する方法を示します。
これはフィーチャクラスの名前が変更したり別の場所へ移動した場合や、
レイヤファイルとデータのリンクを再作成する必要がある場合に役立ちます。


【手順】

以下のコード例では、TEST.lyrがC:\TempフォルダにあるWellsという名前の
シェープファイルを指し示すように修正します。

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

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

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

    
    Public Sub test()
      ' 既存の.lyrファイルを開きます。
      Dim pGxLayer As IGxLayer
      Dim pGxFile As IGxFile
      Set pGxLayer = New GxLayer
      Set pGxFile = pGxLayer
      pGxFile.Path = "C:\Temp\Test.lyr"
      ' 新規フィーチャクラスを取得します。
      Dim pWorkspaceFactory As IWorkspaceFactory
      Set pWorkspaceFactory = New ShapefileWorkspaceFactory
      Dim pWorkspace As IFeatureWorkspace
      Set pWorkspace = pWorkspaceFactory.OpenFromFile("C:\Temp", 0)
      Dim pNewFeatClass As IFeatureClass
      Set pNewFeatClass = pWorkspace.OpenFeatureClass("Wells")
      ' .lyrファイルのフィーチャクラスを変更します。
      Dim pLayer As ILayer
      Set pLayer = pGxLayer.Layer
      Dim pFeatLayer As IFeatureLayer
      Set pFeatLayer = pLayer
      Set pFeatLayer.FeatureClass = pNewFeatClass
      Set pGxLayer.Layer = pFeatLayer
    End Sub
    
    
  5. Visual Basic Editorを閉じます。

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

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

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

メタデータ

種類

機能

製品