<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Select Layer in TOC using VBA in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330739#M8604</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you very much to Neil and HPSoln, you two hitted the spot!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here I leave you another option I found on internet. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And please, sorry for the delay &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sub SelectLayersInDisplayView()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-style:italic;"&gt;' selects all of the layers in the first data frame in the TOC's display view&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMxDoc As IMxDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMxDoc = ThisDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pTOC As IContentsView&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pTOC = pMxDoc.ContentsView(0) ' Display View&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMaps As IMaps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMaps = pMxDoc.Maps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pMaps.Item(0) ' first data frame&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pEnumLayer As IEnumLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pEnumLayer = pMap.Layers(, False) ' we will not select layers within group layers&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayer As ILayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer = pEnumLayer.Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.RemoveFromSelectedItems pTOC.SelectedItem&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While Not pLayer Is Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.AddToSelectedItems pLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.Refresh pLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer = pEnumLayer.Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;Sub SelectDataFrameInSourceView()&lt;BR /&gt;&lt;BR /&gt;' selects the first data frame in the TOC's source view&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMxDoc As IMxDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMxDoc = ThisDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pTOC As IContentsView&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pTOC = pMxDoc.ContentsView(1) ' Source View&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMaps As IMaps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMaps = pMxDoc.Maps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pMaps.Item(0) ' first data frame&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.SelectedItem = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.SelectedItem = pMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.Refresh pMap&lt;BR /&gt;End Sub&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Mar 2012 08:09:04 GMT</pubDate>
    <dc:creator>LopeLorenzo</dc:creator>
    <dc:date>2012-03-13T08:09:04Z</dc:date>
    <item>
      <title>Select Layer in TOC using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330736#M8601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi there!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to have a layer in the TOC selected by its name. Say I have a layer named "Roads", I would like to have this layer selected in the TOC, but I don't want to check its view, just have it selected (in the same as when you click on a layer and it turns blue and remains selected). Â¿Is it possible?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here you are a piece of vba: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set pDoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Dim pMapa As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set pMapa = pDoc.FocusMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Dim pCapa As ILayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set pCapa = pDoc.SelectedLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; If pCapa Is Nothing Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; MsgBox "No layers selected"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; MsgBox pMapa.Layer(0).Name 'First layer name in the TOC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'How do I select this layer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; MsgBox pCapa.Name 'Layer selected&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; If pCapa.View = False then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; pCapa.View = True 'It turn on its view but I would like tu select it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; End if&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; End If&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Mar 2012 10:52:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330736#M8601</guid>
      <dc:creator>LopeLorenzo</dc:creator>
      <dc:date>2012-03-07T10:52:24Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer in TOC using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330737#M8602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can select a layer by setting IContentsView::SelectedItem.&amp;nbsp; You can get the contents view reference from IMxDocument::CurrentContentsView.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Mar 2012 12:21:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330737#M8602</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2012-03-07T12:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer in TOC using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330738#M8603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here it goes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pDoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pDoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pDoc.FocusMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDoc.ContentsView(0).AddToSelectedItems pMap.Layer(0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' selects first layer in TOC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDoc.ContentsView(0).Refresh (0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Refresh TOC&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers.....&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2012 08:40:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330738#M8603</guid>
      <dc:creator>HarishDave</dc:creator>
      <dc:date>2012-03-09T08:40:40Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer in TOC using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330739#M8604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you very much to Neil and HPSoln, you two hitted the spot!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here I leave you another option I found on internet. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And please, sorry for the delay &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sub SelectLayersInDisplayView()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-style:italic;"&gt;' selects all of the layers in the first data frame in the TOC's display view&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMxDoc As IMxDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMxDoc = ThisDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pTOC As IContentsView&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pTOC = pMxDoc.ContentsView(0) ' Display View&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMaps As IMaps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMaps = pMxDoc.Maps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pMaps.Item(0) ' first data frame&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pEnumLayer As IEnumLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pEnumLayer = pMap.Layers(, False) ' we will not select layers within group layers&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayer As ILayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer = pEnumLayer.Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.RemoveFromSelectedItems pTOC.SelectedItem&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While Not pLayer Is Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.AddToSelectedItems pLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.Refresh pLayer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pLayer = pEnumLayer.Next&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;Sub SelectDataFrameInSourceView()&lt;BR /&gt;&lt;BR /&gt;' selects the first data frame in the TOC's source view&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMxDoc As IMxDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMxDoc = ThisDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pTOC As IContentsView&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pTOC = pMxDoc.ContentsView(1) ' Source View&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMaps As IMaps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMaps = pMxDoc.Maps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pMaps.Item(0) ' first data frame&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.SelectedItem = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.SelectedItem = pMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTOC.Refresh pMap&lt;BR /&gt;End Sub&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 08:09:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330739#M8604</guid>
      <dc:creator>LopeLorenzo</dc:creator>
      <dc:date>2012-03-13T08:09:04Z</dc:date>
    </item>
    <item>
      <title>Re: Select Layer in TOC using VBA</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330740#M8605</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Here it goes...&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pDoc As IMxDocument&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pDoc = ThisDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMap As IMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMap = pDoc.FocusMap&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDoc.ContentsView(0).AddToSelectedItems pMap.Layer(0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' selects first layer in TOC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pDoc.ContentsView(0).Refresh (0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Refresh TOC&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Cheers.....&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One more question, it would be possible to move the scroll to show you the selected layer (in case you have many layers and you are not seeing de first one)?.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Mar 2012 09:48:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/select-layer-in-toc-using-vba/m-p/330740#M8605</guid>
      <dc:creator>LopeLorenzo</dc:creator>
      <dc:date>2012-03-13T09:48:18Z</dc:date>
    </item>
  </channel>
</rss>

