Notifications
Clear all

Criar ListView dentro de Userform com Macro

4 Posts
2 Usuários
0 Reactions
1,202 Visualizações
(@alvaro)
Posts: 78
Trusted Member
Topic starter
 

Bom dia pessoal.
Tudo bem com vocês?

Estou com o seguinte problema, eu tenho um Form que tem um ListView.. Eu não sei porque, mais este ListView esta sumindo do meu Form (Lembrando que o acesso ao Visual Basic esta bloqueado e somente eu tenho a senha).
O erro que esta dando é o seguinte:

Então quando abre o Form, me da um erro relacionado a exibição do ListView, porque como eu disse.. ele esta sumindo.

Eu queria que toda vez que abrisse o Form, criasse esse ListView dentro do meu Form.

Alguns detalhes:

Nome: ListView1

Left: 12

Top: 144

Width: 648

Height: 354

GridLines: True

FullRowSelect: True

Font: Calibri

Tamanho: 9

Muito Obrigado pessoal.

Uma ótima semana a vocês.

Abraços!!

 
Postado : 08/07/2014 4:50 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Se poder postar seu arquivo modelo....para que o pessoal possa ajuda-lo.

Leia:
http://support.microsoft.com/kb/307410/PT-BR
http://social.technet.microsoft.com/For ... ulo-oculto

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/07/2014 5:07 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Alvaro, este erro de Modulo Oculto, pode ser devido o projeto VBA estar protegido como você citou, agora quanto ao ListView estar sumindo, isto se deve a Bibliotecas incompatíveis, ou versões não atualizadas, se pesquisar no Forum sobre ListView e Bibliotecas / Referencias encontrara alguns tópicos sobre este problema e solucionados, a maioria bastou atualizar a Biblioteca.

Abaixo a rotina para criar o Controle ListView conforme pretende, associe a um Botão em seu Form, agora, se o problema for de versão de biblioteca ou ausente, não sei se o controle será criado ou se conseguira adicionar itens, então veja se ocorre como pretende, de uma olhada no tópico abaixo referente a controle em tempo de execução
inserir controle em tempo de execução - viewtopic.php?f=10&t=2858

Private Sub CommandButton1_Click()

    Dim lvw As ListView
    Dim ctl As Control
    Dim li As ListItem

    'Adiciona o Listview com o nome ListView1
    Set ctl = Controls.Add("MSComctlLib.ListViewCtrl.2", "ListView1")

    'Formata  o ListView
    With ctl
        .Left = 12
        .Top = 144
        .Width = 648
        .Height = 354
        .Font.Name = "Calibri"
        .Font.Size = 9
        .FullRowSelect = True
        .Gridlines = True
        .Visible = True
    End With


    'Define o Cabeçalho
    Set lvw = ctl
        With lvw
            .ColumnHeaders.Add 1, "a", "Header1", 100
            .ColumnHeaders.Add 2, "b", "Header2", 100
            .ColumnHeaders.Add 3, "c", "Header3", 100
            .Gridlines = True
            .View = lvwReport
        End With
        
    'Preenche o Listview
    Set li = lvw.ListItems.Add(, , "Item 1")
        li.SubItems(1) = "Item 1 Col 2)"
        li.SubItems(2) = "Item 2 Col 3)"
     
    Set li = lvw.ListItems.Add(, , "Item 2")
        li.SubItems(1) = "Item 1 Col 2)"
        li.SubItems(2) = "Item 2 Col 3)"
    
End Sub

Outro link que vale a pena olhar :
Create User Form Using VBA - http://www.tek-tips.com/faqs.cfm?fid=5757

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 08/07/2014 5:53 am
(@alvaro)
Posts: 78
Trusted Member
Topic starter
 

Pessoal, muito obrigado a todos.
Alexandre, assim que chegar em casa vou dar uma olhadinha nos links.. preciso aprender bastante ainda.
Muito obrigado pela atenção meu amigo.

Mauro, o código funcionou perfeitamente.
Eu imagino que deve ser incompatibilidade das bibliotecas, só que o que é estranho é o seguinte..
Como eu trabalho em uma Mineração, aqui todos os computadores são padronizados.. Office 32 bits.
Eu acho que eu devo ter adicionado alguma coisa involuntariamente nas "referencias" no meu computador, mais enfim.. problema resolvido.

Muito obrigado a vocês pessoal.
Forte abraço e uma ótima terça-feira.

 
Postado : 08/07/2014 9:06 am