Logo Hardware.com.br
Zanqueta
Zanqueta Novo Membro Registrado
9 Mensagens 0 Curtidas

Ajuste VBA - Email

#1 Por Zanqueta 25/01/2010 - 14:50
Olá Pessoal,

Depois de bater cabeça um dia inteiro, resolvi pedir socorro. Me deram uma tarefa ingrata de enviar "trocentos" e-mails cada um com um destinatário diferente...

Minha ideia é usar uma macro que fizesse o seguinte, busque o nome do fulano, depois pegue o e-mail do cara e procure o tal arquivo para anexar.. tudo isso num range só ... (censurado.png né?)

Depois de fuçar muito cheguei nesse código aqui:

Sub Enviar_email()
Dim enderecos As Range
Dim celula As Range
Dim anexo As String
Dim r As Integer
Dim fim
Dim enviar
Dim objOlAppApp As Outlook.Application
Dim objOlAppMsg As Outlook.MailItem
Dim objOlAppRecip As Outlook.Recipient
Dim objOlAppAnexo As Outlook.Attachment

Set objOlAppApp = CreateObject("Outlook.Application")
Set objOlAppMsg = objOlAppApp.CreateItem(olMailItem)
'Celulas com os endereços
Set enderecos = Range("C4:C10")
With objOlAppMsg
'Processar endereços para o envio
For Each celula In enderecos
If celula.Text <> "" And InStr(1, celula.Text, "@") > 0 Then
Set objOlAppRecip = .Recipients.Add(celula.Text)
'definir o tipo do destinatario

End If
Next celula
'verificar se existe destinatário
If .Recipients.Count = 0 Then GoTo fim
'Anexar ficheiro, com o nome e caminho escrito na celula C13
anexo = Range("D4big_green.png5")
'verificar se o caminho para o anexo é válido
If Dir(anexo) = "" Then
r = MsgBox("Anexo inexistente ou caminho invalido, " & _
"pretende enviar assim mesmo ? ", _
vbYesNo, _
"Erro de anexo")
If r = vbYes Then GoTo enviar Else GoTo fim
End If
Set objOlAppAnexo = .Attachments.Add(anexo)
enviar:
'definir a sua importancia
.Importance = olImportanceHigh
'O assunto
.Subject = "Envio de Livro - " & Format(Now, "dd-mmm.yyyy hh:mm:ss")
'O conteudo do Mail
.Body = "Envio de livro ......... " & vbCrLf & _
"....Texto a inserir no conteudo do mail.........." & vbCrLf
'enviar mensagem
.Send
End With
fim:
'Libertar as variaveis
Set objOlAppApp = Nothing
Set objOlAppMsg = Nothing
Set objOlAppAnexo = Nothing
Set objOlAppRecip = Nothing
End Sub



O erro está na linha em vermelho.. ele não está associando o endereço de e-mail com o anexo, ou seja, ele não me deixa mandar um anexo diferente para cada e-mail, mas sim.. varios anexos para um e-mail ...

Se alguém puder me ajudar com este ajuste....
Responder
boslotim
boslotim Tô em todas Registrado
1.4K Mensagens 107 Curtidas
#2 Por boslotim
25/01/2010 - 15:18
Zanqueta disse:
... anexo = Range("D4big_green.png5")...
Cloque os valores dando espaços para não aparecer o smile.

O trecho em vermelho seria anexo = Range ( " D45 " ) ?

Seria bom você colocar um anexo da planilha aqui para sabermos o real funcionamento dela e a partir daí podemos fazer alguma coisa por você

Um abraço!
t+
Assim, um "sábio" discorda do outro e expoe também suas idéias, que se tornam vagas, se analisadas por um 3º sábio. E isso não tem fim...Muito diferente de toda essa confusão, é o Perfeito pensamento e Palavras de Deus.
boslotim
boslotim Tô em todas Registrado
1.4K Mensagens 107 Curtidas
#4 Por boslotim
25/01/2010 - 15:47
Se não quer ter seu anexo fixa aqui, pode hospedar o anexo no site 4Sahred: http://www.4shared.com/ .... Ele ficará por alguns dias.

Um abraço!
t+
Assim, um "sábio" discorda do outro e expoe também suas idéias, que se tornam vagas, se analisadas por um 3º sábio. E isso não tem fim...Muito diferente de toda essa confusão, é o Perfeito pensamento e Palavras de Deus.
H_TM
H_TM Zumbi Registrado
4.5K Mensagens 547 Curtidas
#6 Por H_TM
25/01/2010 - 19:02
Amigo Zanqueta,

Talvez você pode encontrar o que está procurando nas dica e/ou anexos do colega Coloniz@dor do link abaixo.

Link: https://www.hardware.com.br/comunidade/dicas-excel/869188/

T Mais.
Um abraço!
Jesus está voltando para levar aqueles que o aceitaram e procuram andar em seus caminhos. Que todos estejam preparados em sua vinda ....Como está sua vida? ...Está preparado?
boslotim
boslotim Tô em todas Registrado
1.4K Mensagens 107 Curtidas
#8 Por boslotim
26/01/2010 - 08:39
Tá complicado amigo... Espero ajuda de alguém com mais conhecimento para dar uma luz. Aguardaremos!

Qualquer novidade, posto aqui.

Um abraço!
t+
Assim, um "sábio" discorda do outro e expoe também suas idéias, que se tornam vagas, se analisadas por um 3º sábio. E isso não tem fim...Muito diferente de toda essa confusão, é o Perfeito pensamento e Palavras de Deus.
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal