Olá, amigos, seguinte, alguem sabe como enviar emails para todos em uma tabela conforme o esquema abaixo?
Tenho o Campo Nome_Cliente, email_Cliente, e Tipo_cliente
em um form com uma combo seleciono o tipo de cliente e queria enviar para todos os clientes conforme o tipo selecionado.
a forma que uso para emails individuais é a do JPaulo
Option Compare Database
Public gOLApp As Object
Public gOLNameSpace As Object
' JPaulo 2008
Public Function InitializeOutlook() As Boolean
On Error GoTo Init_err
Set gOLApp = CreateObject("Outlook.application")
Set gOLNameSpace = gOLApp.GetNamespace("MAPI")
init_Bye:
InitializeOutlook = True
Exit Function
Init_err:
InitializeOutlook = False
End Function
-----------------------------------------------------
Private Sub btEnviaEmail_Click()
' JPaulo
' Alterado por Gilberto 2009
'Envia email no login pelo Outlook
On Error Resume Next
If VerificaInternet = 1 Then
If IsNull(Me.cxNome) Or Me.cxNome.Value = "" Or IsNull(Me.cxAssunto) Or Me.cxAssunto.Value = "" _
Or IsNull(Me.cxEmailUsuario) Or Me.cxEmailUsuario.Value = "" _
Or IsNull(Me.cxTel) Or Me.cxTel.Value = "" _
Or IsNull(Me.cxCorpo) Or Me.cxCorpo = "" Then
DoCmd.CancelEvent
'Cancel = True
MsgBox "Faltam dados para o envio do email" & Chr(13) & "Preencha corretamente o formulário." & Chr(13) & Chr(13) & "Envio cancelado...", vbInformation, "Alerta"
cxEmpresa.SetFocus
Exit Sub
Else
DoCmd.SetWarnings False
Me.rtAguarde.Visible = True
'DoCmd.OpenForm "Aguarde_da_Requisição"
'monta o mail e envia
On Error Resume Next
Dim Caminho(4) As String, pula As String
Call InitializeOutlook
Set objNewMail = gOLApp.CreateItem(olMailItem)
With objNewMail
.To = " " 'Aqui que gostaria que enviasse para os email cadastrados em minha Tabela_Clientes com o critério
'Conforme o selecionado na combo
body.Font = 20
.body = "Empresa: " & Me.cxEmpresa _
& vbCrLf & "Nome: " & Me.cxNome _
& vbCrLf & "" _
& vbCrLf & "Telefone: " & Me.cxTel _
& vbCrLf & "Email: " & [cxEmailUsuario] _
& vbCrLf & "" _
& vbCrLf & [cxCorpo] _
& vbCrLf & "" _
& vbCrLf & "Este email foi enviado ao suporte técnico." _
& vbCrLf & ""
.Subject = [cxAssunto] & " - " & Date
.Send
End With
DoCmd.SetWarnings True
DoCmd.Close acForm, "Aguarde_da_Requisição"
MsgBox "Mensagem enviada com sucesso!!!", vbInformation, "Aviso de Envio"
Me.rtAguarde.Visible = False
Me.cxEmpresa = ""
Me.cxAssunto = ""
Me.cxEmailUsuario = ""
Me.cxNome = ""
Me.cxCorpo = ""
Me.cxTel = ""
End If
Else
DoCmd.OpenForm "ConexaoOffline"
DoCmd.CancelEvent
End If ' encerra If da conexão
End Sub
Tenho o Campo Nome_Cliente, email_Cliente, e Tipo_cliente
em um form com uma combo seleciono o tipo de cliente e queria enviar para todos os clientes conforme o tipo selecionado.
a forma que uso para emails individuais é a do JPaulo
Option Compare Database
Public gOLApp As Object
Public gOLNameSpace As Object
' JPaulo 2008
Public Function InitializeOutlook() As Boolean
On Error GoTo Init_err
Set gOLApp = CreateObject("Outlook.application")
Set gOLNameSpace = gOLApp.GetNamespace("MAPI")
init_Bye:
InitializeOutlook = True
Exit Function
Init_err:
InitializeOutlook = False
End Function
-----------------------------------------------------
Private Sub btEnviaEmail_Click()
' JPaulo
' Alterado por Gilberto 2009
'Envia email no login pelo Outlook
On Error Resume Next
If VerificaInternet = 1 Then
If IsNull(Me.cxNome) Or Me.cxNome.Value = "" Or IsNull(Me.cxAssunto) Or Me.cxAssunto.Value = "" _
Or IsNull(Me.cxEmailUsuario) Or Me.cxEmailUsuario.Value = "" _
Or IsNull(Me.cxTel) Or Me.cxTel.Value = "" _
Or IsNull(Me.cxCorpo) Or Me.cxCorpo = "" Then
DoCmd.CancelEvent
'Cancel = True
MsgBox "Faltam dados para o envio do email" & Chr(13) & "Preencha corretamente o formulário." & Chr(13) & Chr(13) & "Envio cancelado...", vbInformation, "Alerta"
cxEmpresa.SetFocus
Exit Sub
Else
DoCmd.SetWarnings False
Me.rtAguarde.Visible = True
'DoCmd.OpenForm "Aguarde_da_Requisição"
'monta o mail e envia
On Error Resume Next
Dim Caminho(4) As String, pula As String
Call InitializeOutlook
Set objNewMail = gOLApp.CreateItem(olMailItem)
With objNewMail
.To = " " 'Aqui que gostaria que enviasse para os email cadastrados em minha Tabela_Clientes com o critério
'Conforme o selecionado na combo
body.Font = 20
.body = "Empresa: " & Me.cxEmpresa _
& vbCrLf & "Nome: " & Me.cxNome _
& vbCrLf & "" _
& vbCrLf & "Telefone: " & Me.cxTel _
& vbCrLf & "Email: " & [cxEmailUsuario] _
& vbCrLf & "" _
& vbCrLf & [cxCorpo] _
& vbCrLf & "" _
& vbCrLf & "Este email foi enviado ao suporte técnico." _
& vbCrLf & ""
.Subject = [cxAssunto] & " - " & Date
.Send
End With
DoCmd.SetWarnings True
DoCmd.Close acForm, "Aguarde_da_Requisição"
MsgBox "Mensagem enviada com sucesso!!!", vbInformation, "Aviso de Envio"
Me.rtAguarde.Visible = False
Me.cxEmpresa = ""
Me.cxAssunto = ""
Me.cxEmailUsuario = ""
Me.cxNome = ""
Me.cxCorpo = ""
Me.cxTel = ""
End If
Else
DoCmd.OpenForm "ConexaoOffline"
DoCmd.CancelEvent
End If ' encerra If da conexão
End Sub