OVH Cloud OVH Cloud

Ouvrir une session MAPI

4 réponses
Avatar
Assi
Bonjour!

J'aimerais ouvrir une session MAPI en utilisant Microsoft=20
OLE Messaging. Voici le squelette du code VB:

Sub OpenSession()
Dim objSess As MAPI.Session, Msgs As MAPI.Messages
Set objSess =3D CreateObject("MAPI.Session")
If Not objSess Is Nothing Then
objSess.Logon , , False, False, , "MyInfoType"
...
Debug.Print objSess.Class; " "; objSess.Version
Debug.Print Msgs.Count
'Set Msgs =3D Nothing
'Debug.Print objSess.Inbox.Name
objSess.Logoff
End If
Set objSess =3D Nothing
End Sub

Mais la cr=E9ation de l'objet objSess =E9choue avec la m=E9thode=20
CreateObject("MAPI.Session") alors MAPI est bien ref=E9renc=E9=20
dans VB avec le code erreur suivant: '429: Le composant=20
ActiveX ne peut cr=E9er l'objet'
Que faire ?
Quelqu'un aurait-il une id=E9e?
Car cela fait pr=E8s d'une semaine que je patauge dessus
Toutes vos r=E9ponses seraient les bienvenues.

D'avance merci beaucoup

Assi

4 réponses

Avatar
David Rousset
Bonjour,

OLE Messaging n'existe plus. Il a été remplacé par CDO. CDO (pour
Collaboration Data Object) est un modèle objet reposant sur Mapi et
permettant d'envoyer des mails vers des serveurs Exchange.

Il s'installe avec Outlook. Vous le trouverez dans les options
d'installation d'Office sous l'appelation Objets de Collabortion en
Français. Une fois cette couche objet installé, votre code devrait alors
fonctionner correctement.

N'hésitez pas à nous tenir au courant.

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in message
news:0b1801c3b4e7$3ef62670$
Bonjour!

J'aimerais ouvrir une session MAPI en utilisant Microsoft
OLE Messaging. Voici le squelette du code VB:

Sub OpenSession()
Dim objSess As MAPI.Session, Msgs As MAPI.Messages
Set objSess = CreateObject("MAPI.Session")
If Not objSess Is Nothing Then
objSess.Logon , , False, False, , "MyInfoType"
...
Debug.Print objSess.Class; " "; objSess.Version
Debug.Print Msgs.Count
'Set Msgs = Nothing
'Debug.Print objSess.Inbox.Name
objSess.Logoff
End If
Set objSess = Nothing
End Sub

Mais la création de l'objet objSess échoue avec la méthode
CreateObject("MAPI.Session") alors MAPI est bien reférencé
dans VB avec le code erreur suivant: '429: Le composant
ActiveX ne peut créer l'objet'
Que faire ?
Quelqu'un aurait-il une idée?
Car cela fait près d'une semaine que je patauge dessus
Toutes vos réponses seraient les bienvenues.

D'avance merci beaucoup

Assi
Avatar
Assi
Bonjour,

Je vous remercie infiniment pour votre aide. En effet, je
l'ai installé et ça marche parfaitement. Je profite de
cette occasion pour demander s'il est possible de partager
un dossier d'un autre utilisateur comme le cas dans
Outlook. Si oui comment faire ?
Une fois encore merci.

Assi

-----Message d'origine-----
Bonjour,

OLE Messaging n'existe plus. Il a été remplacé par


CDO. CDO (pour
Collaboration Data Object) est un modèle objet reposant


sur Mapi et
permettant d'envoyer des mails vers des serveurs Exchange.

Il s'installe avec Outlook. Vous le trouverez dans


les options
d'installation d'Office sous l'appelation Objets de


Collabortion en
Français. Une fois cette couche objet installé, votre


code devrait alors
fonctionner correctement.

N'hésitez pas à nous tenir au courant.

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in


message
news:0b1801c3b4e7$3ef62670$
Bonjour!

J'aimerais ouvrir une session MAPI en utilisant Microsoft
OLE Messaging. Voici le squelette du code VB:

Sub OpenSession()
Dim objSess As MAPI.Session, Msgs As MAPI.Messages
Set objSess = CreateObject("MAPI.Session")
If Not objSess Is Nothing Then
objSess.Logon , , False, False, , "MyInfoType"
...
Debug.Print objSess.Class; " "; objSess.Version
Debug.Print Msgs.Count
'Set Msgs = Nothing
'Debug.Print objSess.Inbox.Name
objSess.Logoff
End If
Set objSess = Nothing
End Sub

Mais la création de l'objet objSess échoue avec la méthode
CreateObject("MAPI.Session") alors MAPI est bien reférencé
dans VB avec le code erreur suivant: '429: Le composant
ActiveX ne peut créer l'objet'
Que faire ?
Quelqu'un aurait-il une idée?
Car cela fait près d'une semaine que je patauge dessus
Toutes vos réponses seraient les bienvenues.

D'avance merci beaucoup

Assi


.



Avatar
David Rousset
Bonjour à nouveau,

Bon, c'est une bonne nouvelle ça. :)

En CDO, on ne peut pas ouvrir la boîte aux lettres de quelqu'un d'autre
à moins de lancer le code avec un compte aux privilèges élevés. Ce compte
s'appelle le compte de service sous Exchange 5.5.

Sous Exchange 2000, il faut faudra octroyer les droits "Receive As" et
"Send As" au compte qui devra ouvrir la boîte aux lettres de quelqu'un
d'autre.

Pour résumé, par défaut, cela n'est pas aussi simple que la méthode
Outlook car l'ouverture d'une session MAPI repose sur les credentials
associés à la boîte aux lettres.

Si je n'ai pas été assez clair, n'hésitez pas à me le dire ! :)

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in message
news:054f01c3b4fd$43c3b210$
Bonjour,

Je vous remercie infiniment pour votre aide. En effet, je
l'ai installé et ça marche parfaitement. Je profite de
cette occasion pour demander s'il est possible de partager
un dossier d'un autre utilisateur comme le cas dans
Outlook. Si oui comment faire ?
Une fois encore merci.

Assi

-----Message d'origine-----
Bonjour,

OLE Messaging n'existe plus. Il a été remplacé par


CDO. CDO (pour
Collaboration Data Object) est un modèle objet reposant


sur Mapi et
permettant d'envoyer des mails vers des serveurs Exchange.

Il s'installe avec Outlook. Vous le trouverez dans


les options
d'installation d'Office sous l'appelation Objets de


Collabortion en
Français. Une fois cette couche objet installé, votre


code devrait alors
fonctionner correctement.

N'hésitez pas à nous tenir au courant.

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in


message
news:0b1801c3b4e7$3ef62670$
Bonjour!

J'aimerais ouvrir une session MAPI en utilisant Microsoft
OLE Messaging. Voici le squelette du code VB:

Sub OpenSession()
Dim objSess As MAPI.Session, Msgs As MAPI.Messages
Set objSess = CreateObject("MAPI.Session")
If Not objSess Is Nothing Then
objSess.Logon , , False, False, , "MyInfoType"
...
Debug.Print objSess.Class; " "; objSess.Version
Debug.Print Msgs.Count
'Set Msgs = Nothing
'Debug.Print objSess.Inbox.Name
objSess.Logoff
End If
Set objSess = Nothing
End Sub

Mais la création de l'objet objSess échoue avec la méthode
CreateObject("MAPI.Session") alors MAPI est bien reférencé
dans VB avec le code erreur suivant: '429: Le composant
ActiveX ne peut créer l'objet'
Que faire ?
Quelqu'un aurait-il une idée?
Car cela fait près d'une semaine que je patauge dessus
Toutes vos réponses seraient les bienvenues.

D'avance merci beaucoup

Assi


.



Avatar
Assi
Bonjour,

Votre réponse est claire et je vous remercie infiniment de
m'avoir répondu.

A bientôt

Assi

-----Message d'origine-----
Bonjour à nouveau,

Bon, c'est une bonne nouvelle ça. :)

En CDO, on ne peut pas ouvrir la boîte aux lettres de


quelqu'un d'autre
à moins de lancer le code avec un compte aux privilèges


élevés. Ce compte
s'appelle le compte de service sous Exchange 5.5.

Sous Exchange 2000, il faut faudra octroyer les


droits "Receive As" et
"Send As" au compte qui devra ouvrir la boîte aux lettres


de quelqu'un
d'autre.

Pour résumé, par défaut, cela n'est pas aussi simple


que la méthode
Outlook car l'ouverture d'une session MAPI repose sur les


credentials
associés à la boîte aux lettres.

Si je n'ai pas été assez clair, n'hésitez pas à me le


dire ! :)

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in


message
news:054f01c3b4fd$43c3b210$
Bonjour,

Je vous remercie infiniment pour votre aide. En effet, je
l'ai installé et ça marche parfaitement. Je profite de
cette occasion pour demander s'il est possible de partager
un dossier d'un autre utilisateur comme le cas dans
Outlook. Si oui comment faire ?
Une fois encore merci.

Assi

-----Message d'origine-----
Bonjour,

OLE Messaging n'existe plus. Il a été remplacé par


CDO. CDO (pour
Collaboration Data Object) est un modèle objet reposant


sur Mapi et
permettant d'envoyer des mails vers des serveurs




Exchange.

Il s'installe avec Outlook. Vous le trouverez dans


les options
d'installation d'Office sous l'appelation Objets de


Collabortion en
Français. Une fois cette couche objet installé, votre


code devrait alors
fonctionner correctement.

N'hésitez pas à nous tenir au courant.

Bye,

--
David Rousset
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le


newsgroup où il a été
posté. Je le consulte régulièrement.


"Assi" wrote in


message
news:0b1801c3b4e7$3ef62670$
Bonjour!

J'aimerais ouvrir une session MAPI en utilisant Microsoft
OLE Messaging. Voici le squelette du code VB:

Sub OpenSession()
Dim objSess As MAPI.Session, Msgs As MAPI.Messages
Set objSess = CreateObject("MAPI.Session")
If Not objSess Is Nothing Then
objSess.Logon , , False, False, , "MyInfoType"
...
Debug.Print objSess.Class; " "; objSess.Version
Debug.Print Msgs.Count
'Set Msgs = Nothing
'Debug.Print objSess.Inbox.Name
objSess.Logoff
End If
Set objSess = Nothing
End Sub

Mais la création de l'objet objSess échoue avec la




méthode
CreateObject("MAPI.Session") alors MAPI est bien




reférencé
dans VB avec le code erreur suivant: '429: Le composant
ActiveX ne peut créer l'objet'
Que faire ?
Quelqu'un aurait-il une idée?
Car cela fait près d'une semaine que je patauge dessus
Toutes vos réponses seraient les bienvenues.

D'avance merci beaucoup

Assi


.





.