Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Create MAPI Session failure (http://www.outlookbanter.com/outlook-vba/70824-create-mapi-session-failure.html)

derek mang April 23rd 08 08:15 PM

Create MAPI Session failure
 
I am using Windows XP pro with Office 2003. Within Outlook, I have a
series of macros to facilitate handling of specific emails.

Within this, one function is to extract the sender's email address using
CDO - which fails (Code below). I use the same .otm file on a different
machine wito Windows XP pro and Outlook 2002, and it's perfect.

CDO 1.21 is referenced.


Any thoughts would be appreciated
Regards
Derek

Option Explicit

Public G_objSession As MAPI.Session

Sub SetCDOSession()

' start CDO session
Set G_objSession = CreateObject("MAPI.Session")
G_objSession.Logon , , False, False

End Sub

Sub UnsetCDOSession()

' start CDO session
Set G_objSession = Nothing

End Sub

Function GetFromAddress(objMsg As MailItem) As String

Dim strEntryID As String
Dim strStoreID As String
Dim objCDOItem As MAPI.Message

' get EntryID and StoreID for message
strEntryID = objMsg.EntryID
strStoreID = objMsg.Parent.StoreID


If G_objSession Is Nothing Then
' Set the CDO Session up as it doesn't exist.
Call SetCDOSession
End If

' pass item to CDO and get sender address
On Error Resume Next
Set objCDOItem = G_objSession.GetMessage(strEntryID, strStoreID)

GetFromAddress = objCDOItem.Sender.Address

Set objCDOItem = Nothing

End Function



*** Sent via Developersdex http://www.developersdex.com ***

Ken Slovak - [MVP - Outlook] April 23rd 08 09:01 PM

Create MAPI Session failure
 
You can't run code in an OTM file in Outlook 2003 SP2 or higher I believe it
is. You can only run code from published forms.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"derek mang" wrote in message
...
I am using Windows XP pro with Office 2003. Within Outlook, I have a
series of macros to facilitate handling of specific emails.

Within this, one function is to extract the sender's email address using
CDO - which fails (Code below). I use the same .otm file on a different
machine wito Windows XP pro and Outlook 2002, and it's perfect.

CDO 1.21 is referenced.


Any thoughts would be appreciated
Regards
Derek

Option Explicit

Public G_objSession As MAPI.Session

Sub SetCDOSession()

' start CDO session
Set G_objSession = CreateObject("MAPI.Session")
G_objSession.Logon , , False, False

End Sub

Sub UnsetCDOSession()

' start CDO session
Set G_objSession = Nothing

End Sub

Function GetFromAddress(objMsg As MailItem) As String

Dim strEntryID As String
Dim strStoreID As String
Dim objCDOItem As MAPI.Message

' get EntryID and StoreID for message
strEntryID = objMsg.EntryID
strStoreID = objMsg.Parent.StoreID


If G_objSession Is Nothing Then
' Set the CDO Session up as it doesn't exist.
Call SetCDOSession
End If

' pass item to CDO and get sender address
On Error Resume Next
Set objCDOItem = G_objSession.GetMessage(strEntryID, strStoreID)

GetFromAddress = objCDOItem.Sender.Address

Set objCDOItem = Nothing

End Function



*** Sent via Developersdex http://www.developersdex.com ***



Sue Mosher [MVP-Outlook] April 23rd 08 09:13 PM

Create MAPI Session failure
 
You're thinking of an .oft file, I think. .otm would be VBA. The most likely cause is that CDO 1.21 isn't installed on the problem machine.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54


"Ken Slovak - [MVP - Outlook]" wrote in message ...
You can't run code in an OTM file in Outlook 2003 SP2 or higher I believe it
is. You can only run code from published forms.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"derek mang" wrote in message
...
I am using Windows XP pro with Office 2003. Within Outlook, I have a
series of macros to facilitate handling of specific emails.

Within this, one function is to extract the sender's email address using
CDO - which fails (Code below). I use the same .otm file on a different
machine wito Windows XP pro and Outlook 2002, and it's perfect.

CDO 1.21 is referenced.


Any thoughts would be appreciated
Regards
Derek

Option Explicit

Public G_objSession As MAPI.Session

Sub SetCDOSession()

' start CDO session
Set G_objSession = CreateObject("MAPI.Session")
G_objSession.Logon , , False, False

End Sub

Sub UnsetCDOSession()

' start CDO session
Set G_objSession = Nothing

End Sub

Function GetFromAddress(objMsg As MailItem) As String

Dim strEntryID As String
Dim strStoreID As String
Dim objCDOItem As MAPI.Message

' get EntryID and StoreID for message
strEntryID = objMsg.EntryID
strStoreID = objMsg.Parent.StoreID


If G_objSession Is Nothing Then
' Set the CDO Session up as it doesn't exist.
Call SetCDOSession
End If

' pass item to CDO and get sender address
On Error Resume Next
Set objCDOItem = G_objSession.GetMessage(strEntryID, strStoreID)

GetFromAddress = objCDOItem.Sender.Address

Set objCDOItem = Nothing

End Function



Ken Slovak - [MVP - Outlook] April 24th 08 02:27 PM

Create MAPI Session failure
 
You're right of course, too many abbreviations to keep track of sound of
slapping upside head

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Sue Mosher [MVP-Outlook]" wrote in message
...
You're thinking of an .oft file, I think. .otm would be VBA. The most likely
cause is that CDO 1.21 isn't installed on the problem machine.

--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54



All times are GMT +1. The time now is 03:36 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com