Jump to content
Fórum Script Brasil
  • 0

Lotus Notes Automático Para Atrasos


FIFT

Question

Srs,

Eu preciso varrer minha Database chamada "Dados de Equipamentos" e mandar um Lotus Notes para todos que tiverem equipamentos em atraso. Eu criei o Seguinte código:

Option Compare Database

'Enviar email
Sub Enviar_email(ByVal lEndereco As String, ByVal lEquip As String)
    Dim Maildb As Object
    Dim MailDoc As Object
    Dim Body As Object
    Dim Session As Object
    Set Session = CreateObject("Lotus.NotesSession")
    Call Session.Initialize
    Set Maildb = Session.GETDATABASE("", "c:\notes\data\mail\mymail.nsf")
    If Not Maildb.IsOpen = True Then
        Call Maildb.Open
    End If
    'Create the mail document
    Set MailDoc = Maildb.CREATEDOCUMENT
    Call MailDoc.ReplaceItemValue("Form", "Memo")
    'Set the recipient
    Call MailDoc.ReplaceItemValue("SendTo", lEndereco)
    'Set subject
    Call MailDoc.ReplaceItemValue("Subject", "Equipamento em Atraso")

    Set Body = MailDoc.CREATERICHTEXTITEM("A Devolução do Equipamento " & lEquip & " está em atraso, por favor verifique.")
    Call Body.APPENDTEXT("Body text here")
    MailDoc.SAVEMESSAGEONSEND = True
    Call MailDoc.ReplaceItemValue("PostedDate", Now())
    Call MailDoc.SEND(False)
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set Body = Nothing
    Set Session = Nothing
End Sub

'Enviar emails das pendências
Sub lsEnviarAtrasos()
    Dim iTotalLinhas    As Long
    Dim i               As Long
    Dim lHoje           As Date

    Me.Select
    Cells(1, 1).Select

    iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row

    i = 1

    While i <= iTotalLinhas
        If Cells(i, 6).Value <= Data() Then
            Enviar_email Cells(i, 12).Value, Cells(i, 2).Value
        End If
        i = i + 1
    Wend
End Sub

'Enviar emails e fechar aplicação
Sub lsValidaEnvio()
    If MsgBox("Deseja verificar as pendências e enviar por email?", vbYesNo, "5W2H") = vbYes Then
        lsEnviarAtrasos
    End If
End Sub

O problema é que não consigo criar o método "lsEnviarAtrasos()", pois não consigo varrer a Database. Como posso fazer isso? Sendo que o destinatario esta na 16ª Coluna e o Nome do Equipamento está na 2ª Coluna.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Sim eu peguei uma parte do excel de um amigo meu. Fiz algumas alterações, mas como não entendo muito de VBA, principalmente como trabalhar com a database, não ficou muito bom. Mesmo assim a lógica de enviar o Lotus Notes esta funcionando separadamente, preciso apenas fazer ele varrer o database e enviar o Notes para os atrasados.

Link to comment
Share on other sites

  • 0

No access é diferente, você não varre assim, você envia uma consulta SQL pro banco, algo como SELECT destinatario, email, data FROM Emprestimo WHERE data < NOW e ele retorna pra você uma RecordSet(Lista de registros) que você varre um a um e envia o e-mail. Só que é complicado fazer a aplicação pra vc, o que podemos fazer aqui no forum é dar apoio em alguma dúvida ou coisa do tipo.

Na internet você acha bastante coisa de como fazer controle de estoque com access, acho que isso se aproxima mais ao seu problema, depois você adapta ele ao seu caso e implementa a parte de enviar e-mail automático pra quem estiver em atraso.

Link to comment
Share on other sites

  • 0

Então na verdade todo o sistema já esta implementado e funcionando, só preciso descobrir um jeito de adicionar essa funcionalidade. Eu pensei em utilizar uma consulta que verifica quem está atrasado, mas não consigo enviar os e-mails apenas para os destinatarios que aprecem no resultado da consulta, por isso apelei pro VBA.

Edited by FIFT
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...