Bom dia pessoal,
estou tentando enviar e-mail pelo access onde o código analisa uma consulta que mostra a informação em um campo SIM/NÃO se o servidor já entregou o registro de frequência, exemplo:
OBS: Esse código funciona perfeitamente em outro projeto não consigo identificar o problema, pois configurei as mesmas preferências.
Freq_Jun = 0 não entregou entra no loop e envia o e-mail, se for igual a 1 não envia o e-mail de cobrança.
eis o código que está dando o erro: erro de definição de aplicativo ou de definição de objeto.
'Tratamento de erro
On Error GoTo ErrHandle
Dim objOutlookMsg As Outlook.MailItem
Dim RsEmails As DAO.Recordset
Dim Q As String
Dim vardata As String
Dim Mes As String
Dim VarMes As String
Dim Ano As String
'Define a quebra de linha
Q = Chr(13) & Chr(10)
Mes = Me.Mes '- campo em um formulário que pega o mês atual ex: 6
Ano = Me.Ano '- campo em um formulário que pega o ano atual ex: 2014
Select Case Me.Mes
Case 1
VarMes = "Freq_Jan"
Case 2
VarMes = "Freq_Fev"
Case 3
VarMes = "Freq_Mar"
Case 4
VarMes = "Freq_Abr"
Case 5
VarMes = "Freq_Mai"
Case 6
VarMes = "Freq_Jun"
Case 7
VarMes = "Freq_Jul"
Case 8
VarMes = "Freq_Ago"
Case 9
VarMes = "Freq_Set"
Case 10
VarMes = "Freq_Out"
Case 11
VarMes = "Freq_Nov"
Case 12
VarMes = "Freq_Dez"
End Select
'Abre um recordset
Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequencia")
'Inicia o Outlook
Call InitializeOutlook
'Laço para ir de registro em registro, enviando um email para todos os destinatários da consulta
While Not RsEmails.EOF
If RsEmails.Fields("Freq_Jun") = 0 Then
'If VarMesC = 0 Then
'Cria um novo objeto de email
Set objNewMail = gOLApp.CreateItem(olMailItem)
'Define as propriedades de envio do email
With objNewMail
'Define o destinatário
.To = RsEmails.Fields("Email")
'Define o corpo do email
.Body = "Prezado(a) Servidor(a)," & Q & "" & _
Q & " Informamos que até o momento não acusamos o recebimento da sua folha de frequência do mês de " & MesAno & "/" & Ano & ".Favor regularizar a situação imediatamente, considerando que a percepção da remuneração está condicionada à comprovação do cumprimento da devida jornada de trabalho." & _
Q & " O registro de frequência é condição básica para o pagamento da bolsa de estágio, bem como os benefícios que são processados mensalmente, por intermédio do Sistema Integrado de Administração de Recursos Humanos - SIAPE." & _
Q & " Ressaltamos que, conforme disposto no art. 8º do Decreto nº 1.590, de 10 de agosto de 1995, que trata da jornada de trabalho dos servidores da Administração Pública Federal direta, das autarquias e das fundações públicas federais, utilizado por extensão aos contratados de forma temporária, que A frequência do mês deverá ser encaminhada às unidades de recursos humanos do respectivo órgão ou entidade até o quinto dia útil dos mês subsequente, contendo as informações das ocorrências verificadas. " & _
Q & " Atenciosamente," & Q & "" & Q & " Coordenação de Desenvolvimento de Pessoas " & Q & " Coordenação-Geral de Gestão de Pessoas " & Q & " Subsecretaria de Planejamento, Orçamento e Administração " & Q & " Secretaria-Executiva " & Q & " Ministério da Cultura"
'Título do email
.Subject = "Registro de Frequência Servidor do Mês de"
'Envia o email
.Send
End With
'Tira o objeto da memória
Set objNewMail = Nothing
Else
End If
'Move para o próximo email
RsEmails.MoveNext
Wend
'Tira o recordset da memória
Set RsEmails = Nothing
ErrHandle:
'Caso ocorra um erro
If Err.Number <> 0 Then
MsgBox Err.Description, vbInformation, "Erro número: " & Err.Number
End If
End Sub
estou tentando enviar e-mail pelo access onde o código analisa uma consulta que mostra a informação em um campo SIM/NÃO se o servidor já entregou o registro de frequência, exemplo:
OBS: Esse código funciona perfeitamente em outro projeto não consigo identificar o problema, pois configurei as mesmas preferências.
Freq_Jun = 0 não entregou entra no loop e envia o e-mail, se for igual a 1 não envia o e-mail de cobrança.
eis o código que está dando o erro: erro de definição de aplicativo ou de definição de objeto.
'Tratamento de erro
On Error GoTo ErrHandle
Dim objOutlookMsg As Outlook.MailItem
Dim RsEmails As DAO.Recordset
Dim Q As String
Dim vardata As String
Dim Mes As String
Dim VarMes As String
Dim Ano As String
'Define a quebra de linha
Q = Chr(13) & Chr(10)
Mes = Me.Mes '- campo em um formulário que pega o mês atual ex: 6
Ano = Me.Ano '- campo em um formulário que pega o ano atual ex: 2014
Select Case Me.Mes
Case 1
VarMes = "Freq_Jan"
Case 2
VarMes = "Freq_Fev"
Case 3
VarMes = "Freq_Mar"
Case 4
VarMes = "Freq_Abr"
Case 5
VarMes = "Freq_Mai"
Case 6
VarMes = "Freq_Jun"
Case 7
VarMes = "Freq_Jul"
Case 8
VarMes = "Freq_Ago"
Case 9
VarMes = "Freq_Set"
Case 10
VarMes = "Freq_Out"
Case 11
VarMes = "Freq_Nov"
Case 12
VarMes = "Freq_Dez"
End Select
'Abre um recordset
Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequencia")
'Inicia o Outlook
Call InitializeOutlook
'Laço para ir de registro em registro, enviando um email para todos os destinatários da consulta
While Not RsEmails.EOF
If RsEmails.Fields("Freq_Jun") = 0 Then
'If VarMesC = 0 Then
'Cria um novo objeto de email
Set objNewMail = gOLApp.CreateItem(olMailItem)
'Define as propriedades de envio do email
With objNewMail
'Define o destinatário
.To = RsEmails.Fields("Email")
'Define o corpo do email
.Body = "Prezado(a) Servidor(a)," & Q & "" & _
Q & " Informamos que até o momento não acusamos o recebimento da sua folha de frequência do mês de " & MesAno & "/" & Ano & ".Favor regularizar a situação imediatamente, considerando que a percepção da remuneração está condicionada à comprovação do cumprimento da devida jornada de trabalho." & _
Q & " O registro de frequência é condição básica para o pagamento da bolsa de estágio, bem como os benefícios que são processados mensalmente, por intermédio do Sistema Integrado de Administração de Recursos Humanos - SIAPE." & _
Q & " Ressaltamos que, conforme disposto no art. 8º do Decreto nº 1.590, de 10 de agosto de 1995, que trata da jornada de trabalho dos servidores da Administração Pública Federal direta, das autarquias e das fundações públicas federais, utilizado por extensão aos contratados de forma temporária, que A frequência do mês deverá ser encaminhada às unidades de recursos humanos do respectivo órgão ou entidade até o quinto dia útil dos mês subsequente, contendo as informações das ocorrências verificadas. " & _
Q & " Atenciosamente," & Q & "" & Q & " Coordenação de Desenvolvimento de Pessoas " & Q & " Coordenação-Geral de Gestão de Pessoas " & Q & " Subsecretaria de Planejamento, Orçamento e Administração " & Q & " Secretaria-Executiva " & Q & " Ministério da Cultura"
'Título do email
.Subject = "Registro de Frequência Servidor do Mês de"
'Envia o email
.Send
End With
'Tira o objeto da memória
Set objNewMail = Nothing
Else
End If
'Move para o próximo email
RsEmails.MoveNext
Wend
'Tira o recordset da memória
Set RsEmails = Nothing
ErrHandle:
'Caso ocorra um erro
If Err.Number <> 0 Then
MsgBox Err.Description, vbInformation, "Erro número: " & Err.Number
End If
End Sub