Oi pessoas Excelentes!
Hoje vai uma dica essencial para quem desenvolve projetos mais complexos em VBA. Macros que utilizam controles externos e que podem não estar disponíveis na máquina.
Um exemplo desta situação seria a necessidade de instalar um controle diferente de calendário num formulário ou um controle de listagem mais sofisticado que o ListView tradicional. Nestes casos, você teria que recorrer a inserção de uma nova referência de biblioteca ao projeto.
Mas, se a biblioteca a ser incluída no projeto ainda não estivesse instalada na máquina? Como eu faria esta referência?
Primeiramente, teríamos que possuí-la em alguma pasta do computador. Com a localização da dll ou ocx em nossa máquina ainda não bastaria para adicionarmos sua referência ao projeto VBA da nossa macro. Ela teria de ter o seu registro realizado no Windows para que fosse reconhecida.
Como fazer o registro de uma dll ou ocx no Windows?
Vou deixar dois procedimentos, um para o Windows 7 e outro para o Windows Xp.
No Windows 7:
No menu iniciar, digite “cmd” na caixa Pesquisar. Clique com o botão direito em cmd e clique em Executar como administrador.
Será mostrada a tela do prompt de comando, conforme a figura a seguir. Digite o comando regsvr32 C:\Windows\SysWOW64\o_nome_de_alguma_dll_ou_ocx e tecle ENTER.
Veja que o_nome_de_alguma_dll_ou_ocx deve ser substituído pelo seu arquivo de biblioteca. Por exemplo, se você fosse registrar a dll para os controles comuns do Windows (MSCOMCTL.OCX) o comando seria:
regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX
Em seguida, se tudo ocorrer bem, será exibida uma mensagem de sucesso ao registrar.
No Windows XP:
No Windows XP o processo é mais simples. No menu iniciar, clique em “Executar…” e depois digite o comando:
regsvr32 C:\Windows\System32\o_nome_de_alguma_dll_ou_ocx
Em seguida, se tudo ocorrer bem, será exibida uma mensagem de sucesso ao registrar.
Talvez seja necessário reiniciar o computador para que as alterações sejam aplicadas corretamente.
Então é isso. Até a próxima.
1 comentário em “Como registrar uma dll particular para incluir na sua Macro VBA”