Notifications
Clear all

Deletando formularios via codigo

2 Posts
1 Usuários
0 Reactions
919 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

olá estou tentando criar uma macro que execute a remoção de um modulo ou macro e apresenta erro:
não consigo identificar a falha por favor alguem pode me ajudar??

erro de definição de aplicativo ou de definição de objeto 1004
Sub DeleteAfterRun()

Dim x As Object

Set x = Application.VBE.ActiveVBProject.VBComponent

With x
' Deleta o componente, no caso um formulário
x.Remove VBComponent:=x.Item("teste")
End With

End Sub

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

 
Postado : 25/04/2011 4:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

eliltion, a Rotina que postou Deleta um Módulo de nome "teste" ou um UserForm que tenha este Nome, e para que a mesma funcione corretamente, você tem de acrescentar um "s" em VBComponent ou seja o correto é VBComponents alé de ter de habilitar a Biblioteca na caixa Referências do VBA : "Microsoft Visual Basic For Applications Extensibility" e tambem na Segurança de Macros em Editores Confiáveis, Habilitar : Confiar no acesso do projeto do visual basic", isto no Excel 2003, no 2007 não sei o caminho pois não tenho o mesmo para testar.

Pelo erro que postou, alem do "s" na definição do componente, verifique se o seu formulário tem o mesmo nome que definiu na rotina.

para maiores informações, veja :
Excel VBA: Delete Module After Running VBA Code. Deleting Modules via VBA Code
http://www.ozgrid.com/VBA/delete-module.htm
Tem vários exemplos.

[]s

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

 
Postado : 25/04/2011 6:42 pm