locked
ENVIO DE E-MAILS ATRAVÉS DO LOTUS NOTES, VIA VBA RRS feed

  • Pergunta

  •  

    Boa tarde amigos,

     

    Gostaria de saber como faço para enviar uma mensagem via Lotus Notes, através do Access utilizando programação VBA.

     

    Aqui no fórum eu encontrei um post onde o colega Benjamim ofereceu o seguinte código:

     

    Sub EnviarEmailViaNotes()
        Dim notesSession As Object
        Dim notesMailFile As Object
        Dim notesDocument As Object
        Dim notesField As Object
        Dim receptores(2) As Variant
           
        'Cria Uma lista de destinatários
        receptores(0) = "benjamim.carvalho@ccee.org.br"
        receptores(1) = "jcabreu@ccee.org.br"
       
        'Abre uma sessão do notes, abre a base de dados e cria um documento.
        Set notesSession = CreateObject("Notes.NotesSession")
        Set notesMailFile = notesSession.GetDataBase("", "names.nsf")  '- *.nsf = arq. com lista de contatos
        Set notesDocument = notesMailFile.CreateDocument
       
        'Configura Subject, SendTo e Abre um nomo corpo de e-mail
        Set notesField = notesDocument.AppendItemValue("Subject", "Teste de Envio via Excel...")
        Set notesField = notesDocument.AppendItemValue("SendTo", receptores)
        Set notesField = notesDocument.CreateRichTextItem("Body")
           
        'Escreve o texto padrão no e-mail.
        With notesField
            .AppendText "Este é um modelo que copiei da ferramenta, "
            .AddNewLine (2)
            .AppendText "Para um possível uso no arquivo do GSAM. "
            .AddNewLine (1)
            .AppendText "Chegou? Tudo Certo?"
            .AddNewLine (3)
            .AppendText Cells(1, 1).Value   'aqui faz referencia a uma variável ou a uma parte da planilha
        End With
       
        'Envia o e-mail
        notesDocument.Send False
       
        'Limpa as variáveis
        Set notesSession = Nothing
        Set notesMailFile = Nothing
        Set notesDocument = Nothing
        Set notesField = Nothing
    End Sub

    Entretanto, o código supracitado envia diretamente a mensagem (gostei muito disso), mas eu precisava de um código que permita que a mensagem seja primeiramente visualizada no Lotus Notes, para depois clicarmos o botão SEND (no Lotus Notes), ou seja, o envio não deveria ser automático.

     

    Alguém pode me ajudar?

     

    Desde já, muito grato.

    quinta-feira, 20 de março de 2008 17:33

Todas as Respostas

  • Comente o trecho final do código, a partir da linha 'Envia o e-mail, conforme abaixo:

        

    Code Snippet
        'Envia o e-mail
        'notesDocument.Send False
       
        'Limpa as variáveis
        'Set notesSession = Nothing
        'Set notesMailFile = Nothing
        'Set notesDocument = Nothing
        'Set notesField = Nothing

     

     


    Isso deve evitar que o item seja enviado, permanecendo na tela até que o usuário permita o envio.

    PS: não consigo testar por não ter o Notes instalado, mas segui a mesma lógica que aplico para o Outlook.

     

    [ ]s

    quinta-feira, 20 de março de 2008 18:21
  • Caro amigo Adilson,

     

    Eu já havia retirado estas linhas de código anteriormente e não funcionou, o sistema simplesmente não respondeu. Quando eu cliquei no botão do formulário do Access que envia o e-mail, simplesmente não aconteceu nada, e nem mesmo deu erro de compilação.

     

    Depois de sua resposta, eu fiz o que você sugeriu, comentei as linhas mencionadas na resposta, mas aconteceu a mesma coisa, não houve reação ao clicar o botão para enviar e-mail no Access.

     

    Mesmo assim, sou muito grato amigo.

     

    Vou ficar no aguardo de alguma solução para este problema.

     

    Um forte abraço!

    quinta-feira, 20 de março de 2008 18:48
  • Pena que não funcionou.

    Uma tentativa: vc já tentou excluir as linhas que informam os destinatários?

    Teoricamente o e-mail não pode ser enviado...

    [ ]s

     

    quinta-feira, 20 de março de 2008 19:03
  • Olá,

     

    não tenho instalação do Notes para testar, mas veja se este código lhe ajuda: http://www.fabalou.com/VBandVBA/lotusnotesmail.asp

     

    domingo, 23 de março de 2008 22:08
    Moderador
  • Tenta isso que o Luiz Falow...

     

    qq coisa tenta:

    Code Snippet

        Dim x As NotesDocument '<=Vc ja tem
        Dim n As NotesAgent    '<=Vc consegue pelo session
        n.Run x.NoteID        

    OU:

        Dim n As NotesSession '<=Vc ja tem

        ns.CurrentAgent.Run x.NoteID

    OU:

        Dim db As NotesDatabase
        db.Open

     

    Notes tem mais de uma opção para chegar no mesmo lugar...

     

    Seila se funciona... testa ai e retorna compartilhando com agente... ;o)

     

    Boa Sorte

    quarta-feira, 2 de julho de 2008 13:28
  • Cara... mto bom esse topico... mais gosstaria de saber onde você consegue as informações sobre as propriedades que vc usou para criar cada objeto do Notes... valew!!!!!
    quinta-feira, 1 de outubro de 2009 13:35
  • Adilson, boa noite.

    o código que o Léo colocou acima me serviu perfeitamente. Porém a informação q eu pretendo enviar por e-mail é um scorecard com formatação de numeros, cores, etc...

    Então pensei em "copiar e colar" o este Range no notes como se fosse um screen shot, uma imagem Consegui copiar com o primeiro código, mas agora não sei como transferir essa imagem

    Worksheets("1").Range("G5:J16").Select
        Selection.CopyPicture Appearance:=xlScreen, format:=xlPicture

    Agora nesta seção do código imagino q preciso "Colar" esse screen shot. Mas não encontrei nenhuma propriedade para colar esse aqruivo no corpo do notes.

    .AddNewLine (3)
    .AppendText  AQUI DEVERIA VIR O CÓDIGO PARA COLAR A IMAGEM.

    Consegui criar um arquivo .htm ou .xls para anexar no arquivo, mas não serviu ao meu propósito final.

     

    Agradeço desde já!

    quarta-feira, 9 de fevereiro de 2011 22:53
  • Alguém conseguiu descobrir como colar a imagem citada no item anterior deste tópico? Este código funcionou perfeito, só está faltando esse fechamento.
    quarta-feira, 13 de abril de 2011 12:10
  • Trabaja con lotus notes documentos por Reparar archivos de Lotus Notes  

    Lea este articulo http://www.lotusnotes.repairtoolboxx.com/es

    segunda-feira, 3 de junho de 2013 00:21
  • Meu amigo, eu não consegui fazer ele não enviar pelo notes com o codigo acima.

    Também queria fazer a mesma coisa que vc, gostaria de colar especial no notes como bitmap, uma tabela que tenho no excel. Vc já sabe como fazer?

    terça-feira, 20 de agosto de 2013 16:11
  • Bom dia!

    Executo a macro e dá um erro. A descrição é a seguinte: "As informações de licenciamento para este componente não foram localizadas. Você não possui uma licença apropriada para usar essa funcionalidade no ambiente de desenvolvimento".

    O que pode ser feito?

    domingo, 15 de setembro de 2013 14:26
  • Pessoal !!! este código é muito legal ...alguem sabe como incluir um anexo no email ? 
    sexta-feira, 4 de outubro de 2013 18:43
  • Galera,

    Também achei esse código muito bom, estou precisando de duas informações adicionais e não estou conseguindo, algém sabe como colocar anexo nesse código? Preciso de um código que aceite mais de um anexo no email. e também como faço para salvar o email nos enviados, pois nos testes que fiz não fica salvo.

    Muito obrigado

    sexta-feira, 27 de dezembro de 2013 10:13
  • Olá Damião,

    O tópico ao qual você respondeu é muito antigo. Sugiro que crie um novo tópico com sua pergunta, referenciando este link. Com isso, você aumentará as chances de obter uma resposta e ajudará a manter o fórum organizado.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 27 de dezembro de 2013 13:50
    Moderador