Ir ao conteúdo

Posts recomendados

Postado

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/

 

Postado

No passado eu consegui resolver problema semelhante via atualização do DLL, conforme comentado no primeiro link.

Postado

@osvaldomp Boa tarde, não conheço esse processo. se possível compartilhar algo para leitura agradeço.  as informações acima não corrigiram meu problema.

Postado

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
Postado

@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

  Em 07/08/2020 às 15:34, Edson Luiz Branco disse:

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

Expandir  

image.thumb.png.4ec896ef0937f3620d548c3614286ad7.png

Postado

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

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...