Mise en forme message Lotus 6.5

  • Initiateur de la discussion Compte Supprimé 979
  • Date de début
C

Compte Supprimé 979

Guest
Bonjour à tous,

Comme suite à mon précédent post pour l'édition d'un message Lotus,
j'ai maintenant un autre soucis, la mise en forme de mon message

Voici le code que j'utilise
Code:
Option Explicit
Dim ErrLotus As Boolean
Sub EnvoiBordereau()
  Dim DerLig As Long
  Dim VPath As String, VFic As String, VPathFic As String
  ' Initialisation des variables
  VPath = ThisWorkbook.Path
  ' Création d'une copie de la feuille
  Sheets("Bordereau").Copy
  ' Supprimer le bouton sur la feuille copiée
  ActiveSheet.Shapes("BtnMail").Delete
  ' On sauvegarde le nouveau fichier
  VFic = "Bordereau envoi PAF du " & Format(Now(), "dd.mm.yyyy hh:mm") & ".xls"
  VFic = Replace(VFic, ":", "h")
  VPathFic = VPath & "\" & VFic
  ActiveWorkbook.SaveAs VPathFic
  ActiveWorkbook.Close
  ' Créer le message LOTUS
  ErrLotus = False
  Call CreateNotesMsg(VPathFic)
  If ErrLotus = True Then Exit Sub
  ' Effacer ensuite le tableau
  DerLig = Range("A" & Rows.Count).End(xlUp).Row
  Range("A3:H" & DerLig).ClearContents
End Sub
Sub CreateNotesMsg(VPathFic)
  '***********************************************
  'Objet :   Edition d'un message créé dans Notes
  '***********************************************
  Dim oSess As Object
  Dim oDB As Object
  Dim oDoc As Object
  Dim oItem As Object
  Dim WorkSpace As Object
  Dim ntsServer As String
  Dim ntsMailFile As String
  Dim sSendTo As String, sCopyTo As String
  Dim sSubject As String
  Dim sBodyText As String
  '
  On Error GoTo err_CreateNotesMsg
  ' Initialisation des variables
  sSendTo = ThisWorkbook.Sheets("Params").Range("AdrEnvoi")
  sCopyTo = ThisWorkbook.Sheets("Params").Range("AdrCopie")
  sSubject = "Envoi du " & Format(Now(), "dd.mm.yyyy hh:mm")
  '
  Set oSess = CreateObject("Notes.NotesSession")
  ntsServer = oSess.GetEnvironmentString("MailServer", True)
  'Acquière le nom du fichier mailfile de l'utilisateur courant dans Notes.ini
  ntsMailFile = oSess.GetEnvironmentString("MailFile", True)
  Set oDB = oSess.GetDatabase(ntsServer, ntsMailFile)
  ' Vérifier si la base est ouverte
  If oDB.IsOpen = False Then oDB.OPENMAIL
  '
  Set oDoc = oDB.CreateDocument
  'oDoc.Form = "Memo"
  ' Inscrire la/les adresse(s) d'envoi
  oDoc.AppendItemValue "SendTo", sSendTo
  ' Eventuellement la/les adresse(s) de copie
  If Not IsMissing(sCopyTo) Then
    oDoc.AppendItemValue "CopyTo", sCopyTo
  End If
  ' Inscrire le sujet du mail
  If Not IsMissing(sSubject) Then
    If sSubject <> "" Then oDoc.AppendItemValue "Subject", sSubject
  End If
  ' Créer le corps du message
  Set oItem = oDoc.CreateRichTextItem("BODY")
  ' Inscire le texte
  With oItem
    .AppendText "Bonjour,"
    .AddNewline 1
    .AppendText "Vous trouverez ci-joint le bodereau d'envoi,"
    .AppendText "ainsi que les PAF signés"
    .AddNewline 1
  End With
  ' Attacher le fichier de bordereau
  Call oItem.EmbedObject(1454, "", VPathFic, "Attachement")
  ' Ouvrir l'espace de travail
  Set WorkSpace = CreateObject("Notes.NotesUIWorkspace")
  Call WorkSpace.EditDocument(True, oDoc)
exit_CreateNotesMsg:
  On Error Resume Next
  Set oItem = Nothing
  Set oDoc = Nothing
  Set oDB = Nothing
  Set oSess = Nothing
  Exit Sub
err_CreateNotesMsg:
  ErrLotus = True
  If Err.Number = 7225 Then
      MsgBox "Impossible d'attacher le fichier, vérifier le chemin!", vbCritical
  Else
      MsgBox "[" & Err.Number & "]: " & Err.Description
  End If
  MsgBox "Message non envoyé suite erreur!", vbCritical
  Resume exit_CreateNotesMsg
End Sub

Les problèmes sont :
1) je n'ai aucun texte qui s'incrit dans le corps de mon mail
2) la pièce jointe se retrouve en dessous de ma signature

Si les pros du pot, heuuu... je veux dire du VBA et de Lotus
et les autres d'ailleurs, pouvaient me venir en aide ?

D'avance merci
 

tototiti2008

XLDnaute Barbatruc
Re : Mise en forme message Lotus 6.5

Re,

un seul truc que j'ai trouvé : faire apparaitre le texte.
c'est bizarre, mais il faut créer un autre RichTextItem pour la pièce jointe.

Code:
  ' Créer le corps du message
  Set oItem = oDoc.CreateRichTextItem("BODY")
  ' Inscire le texte
  With oItem
    .AppendText "Bonjour,"
    .AddNewline 1
    .AppendText "Vous trouverez ci-joint le bodereau d'envoi, "
    .AppendText "ainsi que les PAF signés"
    .AddNewline 1
  End With
    Set oItem = oDoc.CreateRichTextItem("BODY2")

par contre tout apparaît après la signature, je ne sais pas si on peut lui dire de se placer en début de Memo au départ....
 
C

Compte Supprimé 979

Guest
Re : Mise en forme message Lotus 6.5

Bonjour à tous,

Merci à toi Tototiti2008,
effectivement en mettant :
Code:
Set oItem = oDoc.CreateRichTextItem("BODY2")
le texte âpparait bien.

Il manque malheureusement une mise en page correcte :confused:
Quelqu'un n'a pas une astuce ?

Dis Mr RENAUDER, si tu passes dans le coin ....
comment ça se passe de ton côté ?

Merci d'avance A+
 

tototiti2008

XLDnaute Barbatruc
Re : Mise en forme message Lotus 6.5

Bonjour BrunoM45,

j'ai fait quelques recherches sans résultat, en effet ça pourrait me servir à l'avenir...

Je me rappelle par exemple que j'avais essayé d'insérer un lien hypertexte (hotspot) dans un memo (avec un texte affiché spécifique) sans jamais trouver de solution...

A part pour envoyer un mail de base, pas trop de documentation disponible sur le pilotage de Lotus Notes, mais si vous trouvez quelque chose je suis preneur ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 042
Membres
104 010
dernier inscrit
Freba