Pessoal,
Minha empresa possui um banco de dados para cadastro de documentos expedidos. Esses documentos podem ser expedidos em conjunto entre departamentos da empresa. Há uma caixa de texto para informar os departamentos envolvidos no documento e há um campo também para informar a data de envio ao arquivo da empresa. Gostaria de colocar no VBA uma função para envio de email toda vez que um documento conjunto fosse cadastrado e quando esse documento conjunto fosse enviado ao arquivo. Como sou leigo no assunto, gostaria de que alguém pudesse me ajudar. Foi sugerida, como exemplo, a instrução abaixo, mas não funcionou. A instrução coloca o envio do email após salvar o registro, entendendo que o documento é conjunto por ter algum texto no campo Conjunto Com.
Private Sub ParaCarta_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO TabLog (Usuario,DataHora,NomeForm,NomeReg,NomeCampo,ValorAntigo,ValorNovo) VALUES ('" & UserName() & "','" & Now() & "','" & Me.Form.Name() & "','" & Me.Form.CurrentRecord & "','" & ParaCarta.Name & "','" & ParaCarta.OldValue & "','" & ParaCarta.Value & "')"
DoCmd.SetWarnings True
'Após informar todos os campos obrigatórios, salva o registro atual
DoCmd.RunCommand acCmdSaveRecord
MsgBox ("O registro foi salvo com sucesso.")
End Sub
Private Sub EnviaEmail()
If Not IsNull (ConjuntoCom) Then
Dim objEmail As Object
Dim Cr As String, Lf As String
Dim Texto As String
Dim CxPostal As String
Cr = Chr(13)
Lf = Chr(10)
CxPostal = "Maluco" + ""
If Time < "12:00" Then
x = "Bom dia,"
End If
If Time > "12:00" Then
x = "Boa tarde,"
End If
If Time > "12:00" And Time > "18:00" Then
x = "Boa noite,"
End If
Texto = Texto + Cr
Texto = Texto + x
Texto = Texto + Cr
Texto = Texto + Cr
Texto = Texto + "Teste"
Texto = Texto + Cr
Texto = Texto + Cr
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "Eu" + ""
objEmail.To = CxPostal
objEmail.cc = "gsdjkbfgjkdsbngjksdb" + ""
objEmail.Subject = "Doc Conjunto"
objEmail.Textbody = Texto
' objEmail.AddAttachment "Enderecodeanexo/podenaoter"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Mail"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
End If
End Sub
Mas esse teste não funcionou.
Alguém tem alguma sugestão de ajuste que possa ser feito?
Para o envio do email de arquivamento, a instrução seria a mesma alterando apenas os campos preenchidos.
Valeu, pessoal!
Minha empresa possui um banco de dados para cadastro de documentos expedidos. Esses documentos podem ser expedidos em conjunto entre departamentos da empresa. Há uma caixa de texto para informar os departamentos envolvidos no documento e há um campo também para informar a data de envio ao arquivo da empresa. Gostaria de colocar no VBA uma função para envio de email toda vez que um documento conjunto fosse cadastrado e quando esse documento conjunto fosse enviado ao arquivo. Como sou leigo no assunto, gostaria de que alguém pudesse me ajudar. Foi sugerida, como exemplo, a instrução abaixo, mas não funcionou. A instrução coloca o envio do email após salvar o registro, entendendo que o documento é conjunto por ter algum texto no campo Conjunto Com.
Private Sub ParaCarta_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO TabLog (Usuario,DataHora,NomeForm,NomeReg,NomeCampo,ValorAntigo,ValorNovo) VALUES ('" & UserName() & "','" & Now() & "','" & Me.Form.Name() & "','" & Me.Form.CurrentRecord & "','" & ParaCarta.Name & "','" & ParaCarta.OldValue & "','" & ParaCarta.Value & "')"
DoCmd.SetWarnings True
'Após informar todos os campos obrigatórios, salva o registro atual
DoCmd.RunCommand acCmdSaveRecord
MsgBox ("O registro foi salvo com sucesso.")
End Sub
Private Sub EnviaEmail()
If Not IsNull (ConjuntoCom) Then
Dim objEmail As Object
Dim Cr As String, Lf As String
Dim Texto As String
Dim CxPostal As String
Cr = Chr(13)
Lf = Chr(10)
CxPostal = "Maluco" + "
If Time < "12:00" Then
x = "Bom dia,"
End If
If Time > "12:00" Then
x = "Boa tarde,"
End If
If Time > "12:00" And Time > "18:00" Then
x = "Boa noite,"
End If
Texto = Texto + Cr
Texto = Texto + x
Texto = Texto + Cr
Texto = Texto + Cr
Texto = Texto + "Teste"
Texto = Texto + Cr
Texto = Texto + Cr
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "Eu" + "
objEmail.To = CxPostal
objEmail.cc = "gsdjkbfgjkdsbngjksdb" + "
objEmail.Subject = "Doc Conjunto"
objEmail.Textbody = Texto
' objEmail.AddAttachment "Enderecodeanexo/podenaoter"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Mail"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
End If
End Sub
Mas esse teste não funcionou.
Alguém tem alguma sugestão de ajuste que possa ser feito?
Para o envio do email de arquivamento, a instrução seria a mesma alterando apenas os campos preenchidos.
Valeu, pessoal!