Page 1 sur 1

VBA Répondre à un mail

MessagePublié: 02 Sep 2011 à 10:31
par N3oTraX
Bonjour,


Je cherche actuellement via Excel vba à répondre à un mail situé dans une app sur serveur.
Je ne trouve malheureusement pas mon bonheur, est-ce quelqu'un connait une technique pour ce faire ?

Merci

MessagePublié: 02 Sep 2011 à 18:31
par roubech
"une app sur serveur" ? quel type d'appli ? techno ? quel rapport avec Excel ?

MessagePublié: 03 Sep 2011 à 07:12
par N3oTraX
En gros l'application a atteindre serait ma boite générique du travail.

MessagePublié: 03 Sep 2011 à 17:12
par roubech
je n'arrive toujours pas à comprendre ce que tu veux faire. Tache d'être plus clair

Tu souhaites répiondre à un mail depuis Excel ? mais quel mail ? si le mail auquel tu veux répondre est dans ta BAL, comment depuis Excel tu sais que tu celui là auquel tu veux répondre ?

MessagePublié: 26 Sep 2011 à 12:27
par N3oTraX
Difficile à dire...

On peux dire que c'est un mail situé dans une BAL dont j'ai acces que je peux retrouver par Sujet.

MessagePublié: 26 Sep 2011 à 12:30
par Michael DELIQUE
salut

il ya quelque année Oguruma avait mis en ligne une appli VBA pour envoyer des mail sous lotus. une petite recherche ici ou sous google devrait te le remonter

MessagePublié: 27 Sep 2011 à 09:21
par N3oTraX
Effectivement j'ai trouvé une méthode pour envoyer des mails via excel & vba par Lotus.
Mais je n'ai pas trouvé comment le faire depuis une autre boite mail.
J'ai aussi trouvé une macro qui me rajoutait un menu dans Lotus, mais a chaque fois l'envoi de mail se fait par ma session utilisateur et non via la deuxieme boite... (logique quelque part quand on lit le code)

J'ai trouvé aussi ce code :
Code : Tout sélectionner
Public Function openLegalClaim(legalclaim As String)


Dim dbname As String
Dim dbpath As String
Dim docname As String
Dim notesuiworkspace As Object

docname = legalclaim

Set notesuiworkspace = CreateObject("Notes.Notesuiworkspace")

dbname = "<dbname>"
dbpath = "<dbserverpath>"

Call notesuiworkspace.OpenDatabase(dbpath, dbname, "<viewname>", docname, False, False)



End Function


Mais impossible de trouver le nom de la vue, une erreur survient lors de l'ouverture de l'UI...
Du coup est-ce quelqu'un connait un moyen de lister le nom de toutes les vues/documents de la base ?

MessagePublié: 27 Sep 2011 à 09:31
par Michael DELIQUE
salut

déjà je te conseil d'anonymiser les infos on voit les noms de personnes et de serveur dans ton code (tu rsiques de te faire taper surles doigts par ton dsi)

ensuite

regardeà notesDatabase.Views qui te renvoisun array contenant le nom de toutes les vues

MessagePublié: 27 Sep 2011 à 09:44
par N3oTraX
Ok j'ai effacé les données sensibles ^^

Je vais essayer le notesDatabase.Views, je ferai un retour rapide si je trouve enfin la solution :)

MessagePublié: 06 Oct 2011 à 16:07
par N3oTraX
C'est bon pour la partie envoi de mail. Pas vraiment compliqué en soi, faut-il y mettre du sien ^^

Code : Tout sélectionner
Public Sub Send()

    Dim session As Object       'Session Notes
    Dim Dir As Object
    Dim Doc As Object
    Dim AttachME As Object      'Objet richtext
    Dim EmbedObj As Object      'Objet embed du richtext
    Dim Footpage As Object      'pied de page
    Dim Workspace As Object
    Dim EditDoc As Object
    Dim Attachment As String
    Dim cc As String
    Dim time As String
   
On Error GoTo TraiteErreur
   
    'Création de la session Notes
    Set Workspace = CreateObject("Notes.NotesUIWorkspace")
    Set session = CreateObject("notes.NOTESSESSION")
    Set Dir = session.GetDatabase("XXXXXX/XXXXX/XXXXX", "rep/rep1/base.nsf")
   
    'Sauvegarde du rapport & contruction de la variable pour l'attachement au mail
    ActiveWorkbook.Save
    Attachment = ActiveWorkbook.Path + "\" + ActiveWorkbook.Name
   
    'Creation d'un document
    Set Doc = Dir.CreateDocument
    Set AttachME = Doc.CREATERICHTEXTITEM("BODY")
    'Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "BODY")
   
    Doc.form = "Memo"
    Doc.Subject = "Rapport OROP de la nuit du " & Date - 1 & " au " & Date
    Doc.SendTo = ""
    Doc.CopyTo = cc
    Doc.body = "Bonjour," & vbLf & vbLf & "ci-joint les rapports OROP de la nuit du " & Date - 1 & " au " & Date & vbLf & vbLf & "Cordialement," & vbLf & "Team GPMX"
   
    'Joindre le fichier OROP en PJ
    Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "BODY")
   
    'Affichage du mail dans Lotus Notes
    Set EditDoc = Workspace.EDITDOCUMENT(True, Doc)
   
    Set session = Nothing
    Set Dir = Nothing
    Set Doc = Nothing
    Set Workspace = Nothing
    Set EditDoc = Nothing
   
    Exit Sub
   
TraiteErreur:
   
    'MsgBox "Problème de création du mail", vbCritical, "Error"
   
    Set session = Nothing
    Set Dir = Nothing
    Set Doc = Nothing
    Set Workspace = Nothing
    Set EditDoc = Nothing
   
End Sub


Maintenant j'aurais aimer faire la même chose mais en répondant à tous les destinataire d'un mail que je recois dans ma boite tous les jours vers 19h (je peux le retrouver facilement grace au sujet).

Probleme : Je ne sais pas comment lister les mails de ma boite avec vba (et je n'ai pas acces au design de cette derniere)

Quelqu'un connait-il une solution ?