[Résolu] Selectionner une autre base mail

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

[Résolu] Selectionner une autre base mail

Messagepar N3oTraX » 04 Oct 2011 à 16:35

Bonjour,

J'essaie de créer un mémo via une autre boite mail en vb, mais rien y fait.

J'arrive avec ce code à le faire avec ma boite perso, mais quant à ma boite du taf c'est autre chose :




Code : Tout sélectionner
Private Sub UseLotus()


    Dim Session As Object
    Dim Dir As Object
    Dim Doc As Object
    Dim Workspace As Object
    Dim EditDoc As Object
   
On Error GoTo TraiteErreur
   
    'Création de la session Notes
    Set Workspace = CreateObject("Notes.NotesUIWorkspace")
    Set Session = CreateObject("notes.NOTESSESSION")
    Set Dir = Session.GETDATABASE("", "")
    Call Dir.OPENMAIL
   
    'Creation d'un document
    Set Doc = Dir.CREATEDOCUMENT
   
    Doc.form = "Memo"
    Doc.Subject = "Sujet du mail"
    Doc.SendTo = "Receiver@mail.com"
    Doc.body = "This is the 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


J'aimerai aujourd'hui atteindre une base avec des parametres proches de ceux-ci :

- /SERVEUR/GROUP/MEMBRES
- mail\Mail1\XXXXX.nsf

Qui peut m'aider ?

Merci
Dernière édition par N3oTraX le 04 Oct 2011 à 17:18, édité 2 fois.
N3oTraX
Premier posts
Premier posts
 
Message(s) : 15
Inscrit(e) le : 22 Sep 2010 à 18:19

Messagepar Raziel » 04 Oct 2011 à 16:38

Sur la ligne Set Dir = Session.GETDATABASE("", "") ,
tu ne peux pas renseigner le serveur et le nom de la base mail ?
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Messagepar N3oTraX » 04 Oct 2011 à 16:55

Bah c'est ce que j'ai essayé de faire, mais j'ai un code erreur en essayant de tourner ca dans tous les sens...

En gros j'ai essayé :

Set Dir = Session.GetDatabase("SERVEUR/GROUP/MEMBRES", "mail\Mail1\XXXXX.nsf ")


Set Dir = Session.GetDatabase("SERVEUR/GROUP/MEMBRES", "mail/Mail1/XXXXX.nsf ")

En tournant les / et les \ dans tous les sens...
N3oTraX
Premier posts
Premier posts
 
Message(s) : 15
Inscrit(e) le : 22 Sep 2010 à 18:19

Messagepar Raziel » 04 Oct 2011 à 16:56

C'est quoi ce message d'erreur ?
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Messagepar N3oTraX » 04 Oct 2011 à 17:10

Erreur d'execution '7296':

This database object is already open as
SERVER/GROUP/MEMBER!!dir\Dir1\xxxx.nsf


Ce message apparait sur la ligne :
Code : Tout sélectionner
Call Dir.OPENMAIL

Peut importe le sens des /
N3oTraX
Premier posts
Premier posts
 
Message(s) : 15
Inscrit(e) le : 22 Sep 2010 à 18:19

Messagepar N3oTraX » 04 Oct 2011 à 17:15

J'ai commenté la ligne et ca marche :D

Réponse tirée du site IBM :

The "Call maildb.OpenMail" line is superfluous - just delete it.
Its function is to return a handle to the mail box of the current user.

Since that is also the function of the preceding 3 lines, you don't need it.

Alternatively delete the preceding 3 lines which do the same thing by a different route, ie by reading Notes.INI and opening the mailbox named there.

The error message is because you can't/shouldn't open a database that is already open.

NB: There's a typo in line " Messagebox("Please select at least one team member. Exit Sub" where two lines have been rolled into one. I guess this was just a side effect of copying and pasting the code into the forum though.


Merci ! Comme quoi en posant les bonnes questions ont trouve les bonnes solutions :)
N3oTraX
Premier posts
Premier posts
 
Message(s) : 15
Inscrit(e) le : 22 Sep 2010 à 18:19

Messagepar roubech » 04 Oct 2011 à 19:35

dans ta 1ere version, tu instancies un objet NotesDatabase sans préciser de serveur et de chemin, et ensuite tu appel OpenMail qui ouvre la BAL du user courant

dans la 2nde, tu ouvres explicitement une base donnée, donc surtout pas OpenMail ensuite
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement