Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Rédacteur/Modérateur
    Avatar de jpcheck
    Homme Profil pro Jean-Philippe ANDRÉ
    Consultant technique et formateur freelance
    Inscrit en
    juillet 2007
    Messages
    9 120
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Philippe ANDRÉ
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant technique et formateur freelance
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 9 120
    Points : 17 851
    Points
    17 851

    Par défaut [Lotus Notes] insertion d'un tableau dans le corps du mail

    Bonjour à tous,
    je travaille en ce moment sur une automatisation de traitement des alertes depuis Excel. Les mails sont envoyé via Lotus Notes. Le traitement se fait pour le moment à la main.
    Ce que je chercher actuellement :
    - un lien/code pour insérer dans le corps du message un tableau Excel (tableau ou image du tableau).

    Mon code de départ, récupéré sur DVP :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Public Sub MS_SendMessageLotusNotes(vSendTo As Variant, strSubject As String, _
                                    strBody As String, Optional vCC As Variant = "", _
                                    Optional strAttachment As String = "", _
                                    Optional bKeepTrack As Boolean = False)
        'rem : vSendTo is a string var in case of a unique recipient
        '                a variant array of string in a case of a mailing list
        On Error GoTo MS_SendMessageLotusNotes_error
     
        Dim objNoteSession As Object
        Dim objDbNotes As Object
        Dim objMailDoc As Object
        Dim objRichTextFile As Object
        Dim objAttachment As Object
     
        Set objNoteSession = CreateObject("Notes.Notessession")
        Set objDbNotes = objNoteSession.GETDATABASE("", "")
     
        If objDbNotes.IsOpen Then
           ' nop
        Else
            Call objDbNotes.OPENMAIL
        End If
        Set objMailDoc = objDbNotes.CREATEDOCUMENT
        objMailDoc.Form = "Memo"
        objMailDoc.SendTo = vSendTo ' recipient
        objMailDoc.CopyTo = vCC
        objMailDoc.Subject = strSubject
     
        objMailDoc.Body = strBody
        objMailDoc.SaveMessageOnSend = bKeepTrack ' backup Message dans le sendTo
        If strAttachment <> "" Then
            Set objRichTextFile = objMailDoc.CreateRichTextItem("Attachment")
            Set objAttachment = objRichTextFile.EmbedObject(1454, "", strAttachment, "Attachment")
    '        objMailDoc.CreateRichTextItem ("Attachment")
        End If
        objMailDoc.PostedDate = Now()
        objMailDoc.SEND False, vSendTo
     
    MS_SendMessageLotusNotes_exit:
        Set objNoteSession = Nothing
        Set objDbNotes = Nothing
        Set objMailDoc = Nothing
        Set objAttachment = Nothing
        Set objRichTextFile = Nothing
        Exit Sub
     
    MS_SendMessageLotusNotes_error:
        MsgBox "Error. Lotus may be closed" & vbCr & Error$, vbCritical
        Resume MS_SendMessageLotusNotes_exit
    End Sub
    des infos sur la propriétés Body peut-être ?

    merci d'avance.

  2. #2
    Invité de passage
    Inscrit en
    juillet 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 3
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    je ne suis pas develloppeur, mais ayant besoin d'automatiser certaines taches voici ma bidouille.
    je lance le code à partir d'Excel (avec les references Lotus), mais ca doit etre faisable dans Lotus (6+).

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
        Dim Lotus_Session As New NotesSession
        Dim Lotus_BDS As NotesDatabase
        Dim Lotus_Doc1 As NotesDocument
        Dim Lotus_Doc1_Body As NotesRichTextItem
        Dim Lotus_Doc1_Nav As NotesRichTextNavigator
        Dim RGE_ZoneExport As range
        Dim STR_LotusBody As String
        Dim i as integer
        Dim j as integer
     
    'ZoneExport  est la range dans excel, ie plage de cellules ous sont les données du tableau (entetes comprises)
     
    Set Lotus_Session = CreateObject("Lotus.NOTESSESSION")
        Call Lotus_Session.Initialize
        Set Lotus_BDS = Lotus_Session.getdatabase([la base])
        Set Lotus_Doc1 = Lotus_BDS.createdocument
     
        Set Lotus_Doc1_Body = Lotus_Doc1.CreateRichTextItem("Body")
     
        Call Lotus_Doc1_Body.AppendTable(RGE_ZoneExport.Rows.Count, RGE_ZoneExport.Columns.Count)
     
        Set Lotus_Doc1_Body = Lotus_Doc1.GetFirstItem("body")
        Set Lotus_Doc1_Nav = Lotus_Doc1_Body.CreateNavigator
        Call Lotus_Doc1_Nav.FindFirstElement(RTELEM_TYPE_TABLECELL)
     
         For i = 1 To RGE_ZoneExport.Rows.Count Step 1
               For j = 1 To RGE_ZoneExport.Columns.Count Step 1
                   Call Lotus_Doc1_Body.BeginInsert(Lotus_Doc1_Nav)
                   Call Lotus_Doc1_Body.AppendText(RGE_ZoneExport(i, j))
                   Call Lotus_Doc1_Body.EndInsert
                   Call Lotus_Doc1_Nav.FindNextElement(RTELEM_TYPE_TABLECELL)
               Next j
        Next i
     
        Call Lotus_Doc1.ReplaceItemValue("Subject", [le sujet du message, string])
        Call Lotus_Doc1.Send(False, [le(s) destinataire(s) du message, string])

    Cela repond à mes besoins, en esperant que ca puisse aider d'autres.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •