Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
adaptar envio de email [resolvido]
adaptar envio de email [resolvido]
OLa a todos os execlistas,
Mais uma vez preciso da vossa ajuda, estou com alguma dificuldade em adaptar uma nova parte ao modelo de cadastaro
Passo a exlicar:
eu acrescentei uma coluna que define a validade dos dados como "valido" ou "caducado" coluna AF, queria sempre que o estado seja Caducado (coluna AF) envie email com a informação das colunas AA, AB,AC,AD e AE , no texto do email.
encontrei esta macro mas estou com dificuldade em fazer com que va buscar os dados, esta macro seria para ser acionada por um botão no form cadastro.
Sub Enviar_EMail()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo limpa
For Each cell In Columns("N").Cells.SpecialCells(xlCellTypeConstants)
'verifica se o email é valido e se o cliente possui o estados A (atrasado)
If cell.Value Like "?*@?*.?*" And LCase(Cells(cell.Row, "AF").Value) = "a" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Aviso"
.Body = "Caro " & Cells(cell.Row, "B").Value _
& vbNewLine & vbNewLine & _
"Entre em contato com nosso serviço de cobrança " & _
"os seguintes documentos estão caducados" '(aqui seria para inserir os valores das colunas AA, AB,AC,AD e AE)
'Podemos enviar um anexo
.Attachments.Add ("c:\dados\carta.txt")
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
MsgBox ("Email enviado com sucesso..." & " para " & Cells(cell.Row, "B").Value)
End If
Next cell
limpa:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
Mais uma vez preciso da vossa ajuda, estou com alguma dificuldade em adaptar uma nova parte ao modelo de cadastaro
Passo a exlicar:
eu acrescentei uma coluna que define a validade dos dados como "valido" ou "caducado" coluna AF, queria sempre que o estado seja Caducado (coluna AF) envie email com a informação das colunas AA, AB,AC,AD e AE , no texto do email.
encontrei esta macro mas estou com dificuldade em fazer com que va buscar os dados, esta macro seria para ser acionada por um botão no form cadastro.
Sub Enviar_EMail()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo limpa
For Each cell In Columns("N").Cells.SpecialCells(xlCellTypeConstants)
'verifica se o email é valido e se o cliente possui o estados A (atrasado)
If cell.Value Like "?*@?*.?*" And LCase(Cells(cell.Row, "AF").Value) = "a" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Aviso"
.Body = "Caro " & Cells(cell.Row, "B").Value _
& vbNewLine & vbNewLine & _
"Entre em contato com nosso serviço de cobrança " & _
"os seguintes documentos estão caducados" '(aqui seria para inserir os valores das colunas AA, AB,AC,AD e AE)
'Podemos enviar um anexo
.Attachments.Add ("c:\dados\carta.txt")
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
MsgBox ("Email enviado com sucesso..." & " para " & Cells(cell.Row, "B").Value)
End If
Next cell
limpa:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
Editado pela última vez por jrm em Seg Dez 16, 2013 5:57 pm, em um total de 1 vez.
-
- Colaborador
- Mensagens: 98
- Registrado em: Qui Nov 01, 2012 2:37 pm
Re: adaptar envio de email
jrm, boa tarde!
Anexe uma planilha de exemplo para ficar mais fácil a solução do seu problema!!
Att,
Anexe uma planilha de exemplo para ficar mais fácil a solução do seu problema!!
Att,
-
- Colaborador
- Mensagens: 98
- Registrado em: Qui Nov 01, 2012 2:37 pm
Re: adaptar envio de email
Boa tarde!
Veja se esse exemplo lhe atende.
Digite "Caducado" em Status para abrir o outlook com as informações!!!
Att,
Veja se esse exemplo lhe atende.
Digite "Caducado" em Status para abrir o outlook com as informações!!!
Att,
- Anexos
-
- adaptar envio de email.zip
- (16.23 KiB) Baixado 355 vezes
- Valderei
- Colaborador
- Mensagens: 47
- Registrado em: Qui Dez 27, 2012 9:57 pm
- Localização: Caxias do Sul - RS
Re: adaptar envio de email
Olá Maciel Silva.
Estou com o mesmo código que o amigo lhe pediu ajuda.
Minha intenção é semelhante ao que ele quer, porém pretendo que seja enviado um aviso ao nome que estiver aparecendo no meu Formulário.
A ideia é de que eu possa escolher quando enviar um e-mail ou não, terei um TextBox com o nome do destinatário e outro TextBox com o endereço de e-mail, tudo isso salvo na planilha base, e caso queira enviar um e-mail para ele avisando da inclusão de um novo registro, clicaria no botão Enviar E-mail de Alerta, caso contrário não faria a notificação.
Hoje meu formulário mantem a planilha "Base" oculta, faço isto para evitar alterações de dados e perda de informações.
O código que tenho é idêntico ao do amigo jrm, apenas envia o e-mail caso a coluna "O" tenha o dado "Sim" e também se a planilha base estiver visivel.
Então o plano é de ter o botão de envio sempre que desejar e também a planilha base ocultada.
Vou anexar meu formulário para que possa verificar com mais facilidade o que gostaria que ocorresse e ver se há condição.
Estou com o mesmo código que o amigo lhe pediu ajuda.
Minha intenção é semelhante ao que ele quer, porém pretendo que seja enviado um aviso ao nome que estiver aparecendo no meu Formulário.
A ideia é de que eu possa escolher quando enviar um e-mail ou não, terei um TextBox com o nome do destinatário e outro TextBox com o endereço de e-mail, tudo isso salvo na planilha base, e caso queira enviar um e-mail para ele avisando da inclusão de um novo registro, clicaria no botão Enviar E-mail de Alerta, caso contrário não faria a notificação.
Hoje meu formulário mantem a planilha "Base" oculta, faço isto para evitar alterações de dados e perda de informações.
O código que tenho é idêntico ao do amigo jrm, apenas envia o e-mail caso a coluna "O" tenha o dado "Sim" e também se a planilha base estiver visivel.
Então o plano é de ter o botão de envio sempre que desejar e também a planilha base ocultada.
Vou anexar meu formulário para que possa verificar com mais facilidade o que gostaria que ocorresse e ver se há condição.
- Anexos
-
- R.Q 047 - R.I.N.C - Envio E-mail.rar
- (459.83 KiB) Baixado 364 vezes
-
- Envio E-mail.JPG (139.4 KiB) Exibido 7820 vezes
-
- Colaborador
- Mensagens: 98
- Registrado em: Qui Nov 01, 2012 2:37 pm
Re: adaptar envio de email
Valderei,
Baixei sua planilha!
Estou cadastrando um novo registro como exemplo, porém o campo email não aceita digitação. Você colocou alguma regra para aceitar digitar?
Eu não encontrei nada impedindo!
Att,
Baixei sua planilha!
Estou cadastrando um novo registro como exemplo, porém o campo email não aceita digitação. Você colocou alguma regra para aceitar digitar?
Eu não encontrei nada impedindo!
Att,
- Valderei
- Colaborador
- Mensagens: 47
- Registrado em: Qui Dez 27, 2012 9:57 pm
- Localização: Caxias do Sul - RS
Re: adaptar envio de email
Olá Maciel.
Dentro do código do formulário o campo de E-mail esta como "Locked=True", precisas entrar lá e desbloquear, deixei bloqueado pois será carregado automaticamente quando puxar o nome do coordenador.
É no "Private Sub HabilitaControles()"
Depois disso poderá digitar dentro do TextBox, tanto este quando o do nome do coordenador estão "Locked=True".
Obrigado pela ajuda.
Dentro do código do formulário o campo de E-mail esta como "Locked=True", precisas entrar lá e desbloquear, deixei bloqueado pois será carregado automaticamente quando puxar o nome do coordenador.
É no "Private Sub HabilitaControles()"
Depois disso poderá digitar dentro do TextBox, tanto este quando o do nome do coordenador estão "Locked=True".
Obrigado pela ajuda.
-
- Colaborador
- Mensagens: 98
- Registrado em: Qui Nov 01, 2012 2:37 pm
Re: adaptar envio de email
Valderei,
Mais uma dúvida!!!
O email vai ser destinado a quem? Analista ou para o coordenador?
att,
Mais uma dúvida!!!
O email vai ser destinado a quem? Analista ou para o coordenador?
att,
- Valderei
- Colaborador
- Mensagens: 47
- Registrado em: Qui Dez 27, 2012 9:57 pm
- Localização: Caxias do Sul - RS
Re: adaptar envio de email
Olá Maciel.
Será sempre o nome do Coordenador que o e-mail será direcionado.
Será sempre o nome do Coordenador que o e-mail será direcionado.
Re: adaptar envio de email
Boa noite
Peço desde já desculpa por ter demorado tanto a responder, no entretanto também já consegui resolver o meu problema. Agradeço muito a ajuda. Faltava apenas um pormenor que eu não estava a entender, bastou acrescentar a localização dos dados Set wbCadastro = Workbooks.Open(Filename:=caminhoCompleto, ReadOnly:=True)
.
Usei o seguinte código:
Private Sub Email_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Dim caminhoCompleto As String
caminhoCompleto = wbCadastro.FullName
Set wbCadastro = Workbooks.Open(Filename:=caminhoCompleto, ReadOnly:=True)
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo limpa
With wsCadastro
For Each cell In Columns("N").Cells.SpecialCells(xlCellTypeConstants)
'verifica se o email é valido e se o cliente possui o estados A (atrasado)
If cell.Value Like "?*@?*.?*" And LCase(Cells(cell.Row, "AF").Value) = "caducada" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "teste"
.Body = "Exmos " & Cells(cell.Row, "B").Value _
& vbNewLine & vbNewLine & _
"Entre em contato com nosso serviço de cobrança " & _
"para tratar assunto de seu interesse com urgência"
'Podemos enviar um anexo
.Attachments.Add ("c:\dados\carta.txt")
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
MsgBox ("Email enviado com sucesso..." & " para " & Cells(cell.Row, "B").Value)
End If
Next cell
limpa:
Set OutApp = Nothing
Application.ScreenUpdating = True
End With
End Sub
Mas aproveito para pedir mais umas ajudas uma vez que eu sou muito pouco entendido em vba, mas vi algures por aqui um exemplo em que todas as folhas do livro ficam ocultas gostava de saber como é possível fazer isso. o exemplo que eu encontrei é gestão de contas do Meste Poiamen,.
Mais uma vez muito obrigado.
Peço desde já desculpa por ter demorado tanto a responder, no entretanto também já consegui resolver o meu problema. Agradeço muito a ajuda. Faltava apenas um pormenor que eu não estava a entender, bastou acrescentar a localização dos dados Set wbCadastro = Workbooks.Open(Filename:=caminhoCompleto, ReadOnly:=True)
.
Usei o seguinte código:
Private Sub Email_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Dim caminhoCompleto As String
caminhoCompleto = wbCadastro.FullName
Set wbCadastro = Workbooks.Open(Filename:=caminhoCompleto, ReadOnly:=True)
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo limpa
With wsCadastro
For Each cell In Columns("N").Cells.SpecialCells(xlCellTypeConstants)
'verifica se o email é valido e se o cliente possui o estados A (atrasado)
If cell.Value Like "?*@?*.?*" And LCase(Cells(cell.Row, "AF").Value) = "caducada" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "teste"
.Body = "Exmos " & Cells(cell.Row, "B").Value _
& vbNewLine & vbNewLine & _
"Entre em contato com nosso serviço de cobrança " & _
"para tratar assunto de seu interesse com urgência"
'Podemos enviar um anexo
.Attachments.Add ("c:\dados\carta.txt")
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
MsgBox ("Email enviado com sucesso..." & " para " & Cells(cell.Row, "B").Value)
End If
Next cell
limpa:
Set OutApp = Nothing
Application.ScreenUpdating = True
End With
End Sub
Mas aproveito para pedir mais umas ajudas uma vez que eu sou muito pouco entendido em vba, mas vi algures por aqui um exemplo em que todas as folhas do livro ficam ocultas gostava de saber como é possível fazer isso. o exemplo que eu encontrei é gestão de contas do Meste Poiamen,.
Mais uma vez muito obrigado.