Páginas

quarta-feira, 23 de julho de 2014

Problemas com TreeView ou ListView

Olá Pessoal,

Mesmo sendo componentes nativos do VBA o TreeView e o ListView podem apresentar problemas quando utilizados em máquinas diferentes da que ele foi criado.

Esse problema deve-se a versão dos mesmo que pode variar de máquina para máquina.

Quando criamos um projeto e utilizamos algum componente do VBA o ID desse objeto é associado ao projeto, caso ao ser carregado ele verifique que o ID do objeto instalado na máquina é diferente do associado ao projeto ocorrerá o erro.


Para solucionar esse problema irei explicar uma maneira de contornar essa situação. Como o erro ocorre quando a versão é diferente da "original" iremos utilizar a versão que esta instalada na máquina.

OK mas como vamos fazer isso se não sabemos qual é a versão? A boa notícia é que o VBA fará isso automaticamente e não precisamos nos preocupar com isso, para isso vamos criar os controles em tempo de execução utilizando o seguinte código.

Para o TreeView



Set t = Me.Controls.Add("MSComctlLib.TreeCtrl")


Para o ListView


Set t = Me.Controls.Add("MSComctlLib.ListViewCtrl.2")



Todas as outras propriedades dos controles podem ser ajustadas posteriormente como quantidade de nós no TreeView e quantidades de colunas no ListView.

Com isso solucionamos esse problema que vem incomodando gerações de programadores do Office de uma maneira bem simples.

0 comentários:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...