Ir ao conteúdo
  • Cadastre-se

Excel Macro com erro em tempo de execução 429


Posts recomendados

Coloquei na busca do sábio Google ~~~> vba erro: o componente activex não pode criar objeto e ele retornou 34.900 resultados, entre eles os dois abaixo. Veja se ajuda.

 

https://docs.microsoft.com/pt-br/office/vba/language/reference/user-interface-help/activex-component-can-t-create-object-or-return-reference-to-this-object-error-4

 

https://blog.agenciadatecnologia.com.br/erro-429-componente-do-activex-nao-pode-criar-objeto-resolvido/

 

Link para o comentário
Compartilhar em outros sites

Bem vindo ao fórum, @Ewerton Bumerad

Tente fazendo Early Binding para ver qual o erro que de fato está ocorrendo:

Dentro do VBE, no menu Ferramentas, Referências... role até encontrar e marque Microsoft Outlook xx.x Object Library, onde xx.x varia conforme a versão instalada em sua máquina.

Agora no seu código, elimine ou comente a linha:

Set OutlookApp = CreateObject("Outlook.Application")

Substituindo-a por essas duas:

Dim OutlookApp As Outlook.Application
Set OutlookApp = New Outlook.Application

Veja que nova informação de erro, se houver, será retornada e poste novamente aqui..

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Edson Luiz Branco  obrigado pela sua atenção,  na que pediu para modificar  deu erro, pois informa que acima faz a referencia. tudo isso só da erro  na minha maquina, pois a de outro colaborador não dá. tudo isso veio, devido a uma atualização no office! 

 M S  Outlook esta assim as Conf de macro e na macro assim.

image.png.ad8b032c2cb0a7ae4ff8060f423e5c61.png

image.png.1b69df86668d0d360d31991b2be68971.png

1 hora atrás, Edson Luiz Branco disse:

Dim OutlookApp As Outlook.Application Set OutlookApp = New Outlook.Application

image.thumb.png.4ec896ef0937f3620d548c3614286ad7.png

Link para o comentário
Compartilhar em outros sites

você já tentou alterar para "Habilitar todas as macros (não recomendado..."? Faça um teste alterando para essa opção.

 

Também tem um problema de fluxo em seu código, que embora não relacionado com o erro em questão, pode tornar seu código tão lento a ponto de travar: a criação de um novo Application do Outlook ocorre dentro de um laço For-Next o que é contra-indicado.

Até porque você não encerrou um Application antes de criar um novo: definir a variável como Nothing só descarrega a variável, mas o aplicativo continuará na memória. Não me recordo se o Outlook permite criar várias instâncias ao mesmo tempo, mas mesmo que permita, seria totalmente desnecessário e contra-producente. Para encerrar uma instância do Outlook você usaria o método Quit.

Mas o ideal mesmo seria dimensionar a variável em nível de módulo e, dentro da Sub, usar sempre o mesmo Application, algo assim:

Dim OutlookApp As Outlook.Application

Sub MandaEmail()
  blá,
  blá,
  blá
  For i = 4 to LL
    ...
    Envia_Emails ...
  Next i
  OutlookApp.Quit
  Set OutlookApp = Nothing
End Sub

Sub Envia_Emails(EnviarPara As String,...)
  Dim OutlookMail as Outlook.MailItem
  If OutlookApp Is Nothing Then Set OutlookApp = New Outlook.Application
  Set OutlookMail = OutlookApp.CreateItem(0)
  blá,
  blá,
  blá
  Set OutlookMail = Nothing
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!