Sub a() Dim s As String Dim aLayer As ILayer Dim a, c As String Dim pMxdoc As IMxDocument Set pMxdoc = Application.Document Dim pMap As iMap Set pMap = pMxdoc.FocusMap Dim b As String b = pMap.name + ":" Dim pEnumLayer As IEnumLayer Dim pId As New uid Dim pparentlayer As ILayer Dim kolekcia As New Collection Dim out As Variant Set pEnumLayer = pMap.LAyers Set aLayer = pEnumLayer.Next Do Until aLayer Is Nothing Set pparentlayer = GetParent(pMxdoc.FocusMap, _ aLayer) If Not pparentlayer Is Nothing Then a = a + pparentlayer.name + ":" End If s = b + a + aLayer.name out = s & Chr(13) kolekcia.Add out Set aLayer = pEnumLayer.NextLoop For Each out In kolekcia List = List & out Next MsgBox b & Chr(13) & ListEnd SubFunction GetParent(pMap As iMap, aLayer As ILayer) As ILayer If pMap.LayerCount = 0 Then Exit Function Dim pUID As New uid pUID.value = "{EDAD6644-1810-11D1-86AE-0000F8751720}" Dim pEnumLayer As IEnumLayer Set pEnumLayer = pMap.LAyers(pUID, True) Dim pCLayer As ICompositeLayer Set pCLayer = pEnumLayer.NextDo Until pCLayer Is Nothing Dim k As Integer For k = 0 To pCLayer.Count - 1 If pCLayer.layer(m) Is aLayer Then Set GetParent = pCLayer End If Next k Set pCLayer = pEnumLayer.NextLoopEnd Function
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.