Inquiridor
Excluir Modulo enquanto executa o CODE

Pergunta
-
Pessoal, eu utilizo o code abaixo para excluir os módulos. Acontece que ele só exclui quando todo o CODE finaliza e preciso que ele exclua antes de tudo finalizar, pois crio uma cópia deste arquivo. Poderiam me ajudar.
Sub Executar() Call RemoveModulo 'AQUI JÁ ERA PARA NÃO TER MÓDULO ALGUM, MAS ELE CONTINUA ATÉ O FIM. 'COMO RESOLVO ISSO? ThisWorbook.Save Call ProximaExcute End Sub Sub RemoveModulo() 'EXCLUIR MODULO Dim ModVb As VBComponents Set ModVb = application.VBE.ActiveVBProject.VBComponents ModVb.Remove VBComponent:=ModVb.Item("Converte") Set ModVb = application.VBE.ActiveVBProject.VBComponents ModVb.Remove VBComponent:=ModVb.Item("ESSBASE_MOD") End Sub
Todas as Respostas
-
Após o ThisWorbook.Save o módulo é removido? Ou só depois do Call ProximaExcute?
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
-
Bom dia pessoal!
A ideia de tentar excluir o módulo era que esse módulo estava dando erro em computadores de 64-bit. Nunca tinha estudado as declarações para PC 64b então tive que estudar. Inserir o ePtrSafe após o Declare. Vou testar agora a tarde, mas acredito que irá funcionar. Alguém para me confirmar isso agora?Private Declare PtrSafe Function EssVConnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal username As Variant, ByVal password As Variant, ByVal server As Variant, ByVal application As Variant, ByVal database As Variant) As Long Private Declare PtrSafe Function EssVDisconnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant) As Long Private Declare PtrSafe Function EssVRetrieve Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal Range As Variant, ByVal lockFlag As Variant) As Long
Acredito que esse seja a real solução do meu problema, a declaração.
-
#If VBA7 Then Private Declare PtrSafe Function EssVConnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal username As Variant, ByVal password As Variant, ByVal server As Variant, ByVal application As Variant, ByVal database As Variant) As Long Private Declare PtrSafe Function EssVDisconnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant) As Long Private Declare PtrSafe Function EssVRetrieve Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal Range As Variant, ByVal lockFlag As Variant) As Long #Else Private Declare Function EssVConnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal username As Variant, ByVal password As Variant, ByVal server As Variant, ByVal application As Variant, ByVal database As Variant) As Long Private Declare Function EssVDisconnect Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant) As Long Private Declare Function EssVRetrieve Lib "ESSEXCLN.XLL" (ByVal sheetName As Variant, ByVal Range As Variant, ByVal lockFlag As Variant) As Long #End If
Tente dessa forma.http://www.ambienteoffice.com.br || Grupo de WhatsApp: https://chat.whatsapp.com/K1uey5Q4yJdKnsgWkVQAZG
-
-