Listar "Names" de "Captions" dos Controls em Planilha


(Marcelo Adriano) #1

Olá Caros integrantes do FórmulaExcel
Será que existe a possibilidade de listrar de forma dinâmica os "Names" e "Captions" dos controles inseridos na planilha?
Encaminho imagem ilustrativa e a planilha de exemplo
Grato,
Marcelo Adriano


#2

Olá, @marceloadriano !

Você enviou a imagem e os arquivos?

Como estou no celular, não tenho 100% de certeza. Avise por favor


(Marcelo Adriano) #3

Olá Bruno Hanai
Então não consegui enviar os anexo, como faço para enviar os mesmos?
Grato


#4

É aqui nesse símbolo enquanto escreve o post ou a resposta:


(Marcelo Adriano) #5

Olá Bruno Hanai
Obrigado pela orientação... Arquivo anexo
Grato
Marcelo AdrianoListar Controles.xlsm (28,1 KB)


#7

A lógica seria assim @marceloadriano:

Sub listar()
    
    Dim btn As OLEObject
    Dim rng As Range
    
    Set rng = Range("A3")
    
    For Each btn In ActiveSheet.OLEObjects 'Retorna todos os objetos ActiveX
        If btn.OLEType = xlButtonOnly Then
            If InStr(btn.progID, "Forms.CommandButton") = 1 Then ' ou poderia ser Forms.CheckBox
                rng.Value = btn.name
                rng.Offset(0, 1).Value = btn.Object.Caption
        
                Set rng = rng.Offset(1, 0)
            End If
        End If
    Next

End Sub

(Marcelo Adriano) #8

Olá
Bruno Hanai
Perfeito só tenho uma dúvida,como posso interpretar essa sintaxe:
If btn.OLEType = xlButtonOnly Then ?

Grato,
Marcelo Adriano


#9

Boa pergunta, @marceloadriano. :slight_smile:

Isso é algo que vi na prática... inserindo vários tipos de objetos na planilha e verificando manualmente, vi que a propriedade OLEType de todos esses botões é igual a xlButtonOnly.
p1

Aquele ActiveSheet.OLEObjects usado anteriormente retorna todos os objetos OLE que estão na planilha. Um dos objetos que não é igual a xlButtonOnly é esse aqui:

Então aquela condição (If btn.OLEType = xlButtonOnly Then) faz a gente só executar ações nos botões ActiveX, ignorando esses outros tipos!


(Marcelo Adriano) #10

Olá Bruno Hanai
Aprender esses detalhes leva tempo viu...
Obrigado pela atenção e explicação do realizado.
Grato,
Marcelo Adriano


(Marcelo Adriano) #11

Bruno Hanai...
Penso aqui... Será possivel, dentro das suas possibilidades e no seu tempo, gravar uma vídeo aula explicativa sobre os procedimentos realizados para a identificação dos " names " /" captions " contidos na planilha?
Acho que renderia um abela de uma aula, não acha?
Obrigado pela atenção e explicação do realizado.
Grato,
Marcelo Adriano


#12

@marceloadriano com certeza isso dá um ótimo vídeo! Gravo assim que possível.

Obrigado pela sugestão.