Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia Pessoal.
Tenho um script que envia email. Na hora de clicar no enviar email, gostaria que ele pedisse uma confirmação antes e no final do envio que mostrasse uma msg de quantidade de email enviado.
Agradeço a ajuda.
function GetVariable(varName)
Dim v
set v = ActiveDocument.Variables(varName)
GetVariable = v.GetContent.String
end function
Sub Envio()
Set TabelaEmails = ActiveDocument.Fields("NUFONE").GetPossibleValues(1000)
For contEmail = 0 to TabelaEmails.Count - 1
ActiveDocument.Fields("NUFONE").Select TabelaEmails.Item(contEmail).Text
ActiveDocument.GetApplication.Sleep 1000
Porta = GetVariable("smtpPorta")
Server = GetVariable("smtpServer")
Usuario = GetVariable("smtpUser")
Senha = GetVariable("smtpPWD")
Origem = GetVariable("smtpOrigem")
Destinatario = "joaoc.ramires@gmail.com"
'Destinatario = GetVariable("vDestinatario")
Data = GetVariable("vDataVencimento")
Valor = GetVariable("vValor")
Titulo = GetVariable("vTitulo")
Linha = GetVariable("vLinha")
Mensagem = GetVariable("vMensagem")
Nome = GetVariable("vNome")
'msgbox Destinatario
Set objEmail = CreateObject("CDO.Message")
Set objConf = objEmail.Configuration
Set objFlds = objConf.Fields
With objFlds
'---------------------------------------------------------------------
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Server
if len(Usuario) > 0 then
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Usuario
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Senha
else
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0
end if
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Porta
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Update
'---------------------------------------------------------------------
End With
objEmail.To = Destinatario
objEmail.From = Origem
objEmail.Subject = "KONSULTER : Sr(a) "&Nome&" - "&Mensagem
objEmail.Send
ActiveDocument.GetApplication.Sleep 1000
Next
ActiveDocument.Fields("NUFONE").Clear
End Sub
teoricamente
alterar na parte final
objEmail.Send
vQtde = vQtde + 1
ActiveDocument.GetApplication.Sleep 1000
Next
ActiveDocument.Fields("NUFONE").Clear
msgbox vQtde
End Sub
teoricamente
alterar na parte final
objEmail.Send
vQtde = vQtde + 1
ActiveDocument.GetApplication.Sleep 1000
Next
ActiveDocument.Fields("NUFONE").Clear
msgbox vQtde
End Sub
Alesandro funcionou a msg de quantidade de email enviados. Obrigado, de novo.
E a questão de confirmar o envio, tem como fazer?
Porque ele fica muito vulnerável, qualquer um pode clicar no botão enviar sem querer.
Podes colocar uma condicional no botão para somente 1 usuário ou mesmo se tiver determinadas condições, tipo
Determinado usuário e 1 mês selecionado e 1 ano selecionado.
AMF
A mensagem de confirmação pode ser feita dessa maneira:
confirm_mail = MsgBox ("Esta opção enviará e-mail(s). Deseja Prosseguir?", vbYesNo + 4096, "Aviso" )
if confirm_mail = 6 Then
Msgbox "Enviando!!!!",4096
end if
Valeu Yuri. Funcionou. Obrigado