YouTube | Facebook | Twitter  Feed

選択されているレイヤのワークスペースを対象に編集を開始する方法

2016/9/1 (木)

'選択レイヤのワークスペースで編集開始
Private WithEvents EditEvents As Editor
Private m_pEditor As IEditor
 
Private Sub StartEditing()
    '------------- 選択レイヤのチェック ----------------------------------
    Dim pMxDoc As IMxDocument
    Set pMxDoc = ThisDocument
     
    If pMxDoc.SelectedLayer Is Nothing Then
        MsgBox "編集するレイヤをTOCで最初に選択してください", vbExclamation
         
        Set pMxDoc = Nothing
        Exit Sub
     
    End If
     
    '---------- 編集セッションを開始してEditEventsをIEditorをQI -----------
    Dim pApp As Application
    Set pApp = Application
     
    Dim pUID As New UID
    pUID = "esriEditor.Editor"
'    puid = "esricore.Editor"
     
    'Dim pEditor As IEditor
    Set m_pEditor = pApp.FindExtensionByCLSID(pUID)
    Set EditEvents = m_pEditor  'ここでIEditorのイベントセット
     
    Dim pFLayer As IFeatureLayer2
    Set pFLayer = pMxDoc.SelectedLayer
     
    Dim pDataset As IDataset
    Set pDataset = pFLayer.FeatureClass
     
    Dim pWorkspace As IWorkspace
    Set pWorkspace = pDataset.Workspace
     
    m_pEditor.StartEditing pWorkspace
     
    '---------- 編集ターゲットをTOCでの選択レイヤにする -------------------
     
    Dim pEditLayers As IEditLayers
    Set pEditLayers = m_pEditor
     
    pEditLayers.SetCurrentLayer pFLayer, 0
     
End Sub

関連記事

  • この記事を書いた人

羽田 康祐

Esri認定インストラクター、GIS上級技術者、測量士補、潜水士。GISy / GISc とその関連分野である地理学・地図学について日々の出来事で学んだ記憶を記録するためにブログを書いています。行動原理は伊達と酔狂。好きな地形は圏谷。好きな地図投影法はパースクインカンシャル図法。呉市生まれ広島市出身。GIS を使った自己紹介はこちら

-プログラミング, ArcGIS
-,

© 2020 WINGFIELD since1981