Página 1 de 1

Macro para enviar E-mail

Enviado: 04 Mai 2015 às 08:24
por AlineAlves
Bomm diaa, então criei a macro abaixo para enviar e-mail segundo as necessidades da contabilidade onde trabalho ( não entendo nada, nem sei como consegui criar isso sozinha kkkk) mas ela ate que funciona direitinho :), mas não consigo fazer ela rodar em todas as abas da planilha...

Se alguem puder me ajudar :D

to num nivel de desespero ja rs

Obrigada!

Private Sub Workbook_Open()

linhadados = 1
conta = 0

Do While Sheets(19).Cells(linhadados, 5).Value <> ""

If Sheets(19).Cells(linhadados, 5).Value <= 30 Then

Call CriaEmail(Cells(linhadados, 6), " Prazo de renovação expirando URGENTE!!", "Prezado faltam " & Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & Cells(linhadados, 1))
conta = conta + 1

End If

linhadados = linhadados + 1


Loop

MsgBox ("Foi enviado " & conta & " emails")

End Sub

Sub CriaEmail(Destinatario As String, assunto As String, mensagem As String)

Dim objOutlook As Object
Dim objMail As Object

'Cria um novo item de email e altera suas propriedades
Set objOutlook = CreateObject("Outlook.Application")

'Cria uma nova instancia de item de email
Set objMail = objOutlook.Application.CreateItem(olMailItem)


With objMail

.To = Destinatario
.Subject = assunto
.Body = mensagem
.Display




End With


End Sub

Macro para enviar E-mail

Enviado: 04 Mai 2015 às 16:55
por laennder
Olá Aline, você poderia postar em anexo a sua planilha, para que a gente possa entender como são as abas, e o que você deseja "rodar" em cada aba?

Macro para enviar E-mail

Enviado: 04 Mai 2015 às 17:45
por AlineAlves
Bomm diaa, então criei a macro abaixo para enviar e-mail segundo as necessidades da contabilidade onde trabalho ( não entendo nada, nem sei como consegui criar isso sozinha kkkk) mas ela ate que funciona direitinho :), mas não consigo fazer ela rodar em todas as abas da planilha...

A planilha esta em anexo, a ideia é que seja enviado e-mail para o vencimento de cada impostos que temos aqui (vencimento de GPS, impostos e afins), no momento ela funciona apenas na aba " certificados"

Se alguém puder me ajudar :D

to num nivel de desespero ja rs

Obrigada!

Private Sub Workbook_Open()

linhadados = 1
conta = 0

Do While Sheets(19).Cells(linhadados, 5).Value <> ""

If Sheets(19).Cells(linhadados, 5).Value <= 30 Then

Call CriaEmail(Cells(linhadados, 6), " Prazo de renovação expirando URGENTE!!", "Prezado faltam " & Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & Cells(linhadados, 1))
conta = conta + 1

End If

linhadados = linhadados + 1


Loop

MsgBox ("Foi enviado " & conta & " emails")

End Sub

Sub CriaEmail(Destinatario As String, assunto As String, mensagem As String)

Dim objOutlook As Object
Dim objMail As Object

'Cria um novo item de email e altera suas propriedades
Set objOutlook = CreateObject("Outlook.Application")

'Cria uma nova instancia de item de email
Set objMail = objOutlook.Application.CreateItem(olMailItem)


With objMail

.To = Destinatario
.Subject = assunto
.Body = mensagem
.Display




End With


End Sub[/quote]

Re: Macro para enviar E-mail

Enviado: 07 Mai 2015 às 10:16
por AlineAlves
planilha em novo formato!

Re: Macro para enviar E-mail

Enviado: 07 Mai 2015 às 10:28
por laennder
E em qual outra aba você quer que funcione?

A macro está enviando e-mails da aba "Teste".

As e-mails são enviados quando você abre a planilha. Verifique o evento Workbook_open()
Código: Selecionar todos
Private Sub Workbook_Open()

linhadados = 1
conta = 0

Do While Sheets(19).Cells(linhadados, 5).Value <> ""

    If Sheets(19).Cells(linhadados, 5).Value <= 30 Then
    
        Call CriaEmail(Cells(linhadados, 6), " Prazo de renovação expirando  URGENTE!!", "Prezado faltam " & Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & Cells(linhadados, 1))
        conta = conta + 1
        
    End If

linhadados = linhadados + 1


Loop

MsgBox ("Foi enviado " & conta & " emails")

End Sub
Recomendo, ao invés de utilizar a posição da planilha [ Sheets(19) ] utilize o nome, Sheets("Certificados")

Você também deve adaptar os parâmetros da coleção Cells.

Re: Macro para enviar E-mail

Enviado: 07 Mai 2015 às 11:02
por AlineAlves
Precisava que "rodasse"em outras abas que criarei futuramente, a ideia que temos para essa planilha é que assim que ela for aberta já envie e-mail de todos os impostos que estarão para vencer e cada imposto estará em uma aba diferente.
ela puxa os dados da aba " Certificados"

Macro para enviar E-mail

Enviado: 10 Mai 2015 às 15:44
por Yera
Olá,

para que ela rode automaticamente em todas as abas fiz uma modificação simples no seu código.

Inseri mais um "For each" para que ele rode o codigo que você fez para todas as abas da planilha, independente de quantas existam.

Private Sub Workbook_Open()

linhadados = 1
conta = 0

For Each aba In ActiveWorkbook.Sheets
Do While aba.Cells(linhadados, 5).Value <> ""

If aba.Cells(linhadados, 5).Value <= 30 Then

Call CriaEmail(aba.Cells(linhadados, 6), " Prazo de renovação expirando URGENTE!!", "Prezado faltam " & aba.Cells(linhadados, 5) & " dias,ou mais para renovação do Certificado" & " da empresa CNPJ:" & aba.Cells(linhadados, 1))
conta = conta + 1

End If

linhadados = linhadados + 1
Loop

Next
MsgBox ("Foi enviado " & conta & " emails")

End Sub

Grande abraço.

Macro para enviar E-mail

Enviado: 11 Mai 2015 às 09:22
por AlineAlves
Olá, fiz as modificações com o código que você sugeriu, mas agora ela não esta mais enviando e-mail de nenhuma das abas rs .

Macro para enviar E-mail

Enviado: 11 Mai 2015 às 19:48
por Yera
O excel retorna algum erro?

O que eu fiz foi simplesmente fazer ele "vasculhar" e executar o mesmo código em todas as abas.

Se puder enviar a planilha com as modificações consigo dar uma olhada.

Grande abraço.

Macro para enviar E-mail

Enviado: 24 Set 2015 às 09:44
por AlineAlves
a ideia da planilha é para que seja enviado um e-mail avisando que determinada obrigação ( pretendemos criar uma aba para cada obrigação tanto contábil, quanto fiscal, enfim para tudo que temos na contabilidade), e assim que a planilha for aberta já identificar tudo que esta vencendo nas abas e enviar e-mail avisando.
espero que consigam me ajudar,
Obrigada!