• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 598
  • Last Modified:

Microsoft outlook programming issue

Hello

I am doing some programming with Microsoft Office 2013 - Outlook to send a mail using Visual Studio 2010. Here is the code which I use to initialize Outlook Object.

                If OutlookApp Is Nothing Then
                    OutlookApp = New Outlook.Application 
                    pVersion = CShort(OutlookApp.Version.Substring(0, OutlookApp.Version.IndexOf(".")))
                    oNameSpace = OutlookApp.GetNamespace("MAPI")
                    oNameSpace.Logon("", "", False, False)
                    oMailItem = CType(OutlookApp.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
                End If

Open in new window


Here the code is built with 32bit platform and works fine with Office 2013 - 32bit setup.
But when I try to use the same code with Office 2013 - 64bit, I am unable to initialize the outlook Application. Thought the first line (OutlookApp = New Outlook.Application )  is executing well, I am getting a COM exception from the second line while accessing the Version [pVersion = CShort(OutlookApp.Version.Substring(0, OutlookApp.Version.IndexOf("."))).]

This is the full error message
Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80004023.
System.ArgumentException: Empty path name is not legal.
   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
   at System.IO.StreamReader..ctor(String path, Boolean detectEncodingFromByteOrderMarks)
   at MAPISESSION.frmTest.Button1_Click(Object sender, EventArgs e) in E:\Visual Studio 2008 Projects\5. TWBS Components\TWBS Mail\MAPISESSION\MAPISESSION\frmTest.vb:line 20
Please help me on this.

Thanks in Advance.
0
gopalv
Asked:
gopalv
  • 4
  • 3
1 Solution
 
Éric MoreauSenior .Net ConsultantCommented:
do you need to use Outlook? or do you just want to send a email from your application?

I have written many blogs on different ways of sending emails through the years like using the System.Net.Mail namespace. Check the http://emoreau.com/Entries/Articles/2010/07/Sending-e-mails-with-attachments-a-different-method.aspx (which include links to previous ones)
0
 
gopalvAuthor Commented:
Hi Eric

Yes, I need Outlook in this case. In my program, I am supporting two types of emails. 1. SMTP and 2. Outlook. So this is the 2nd case.

Thanks
0
 
Éric MoreauSenior .Net ConsultantCommented:
Have a closer look to the last link in my blog: http://www.codeproject.com/Articles/17561/Programmatically-adding-attachments-to-emails-in-C

it has C# and VB code to open the new message dialog.
0
Easily manage email signatures in Office 365

Managing email signatures in Office 365 can be a challenging task if you don't have the right tool. CodeTwo Email Signatures for Office 365 will help you implement a unified email signature look, no matter what email client is used by users. Test it for free!

 
gopalvAuthor Commented:
Hi

I had gone through this, but didn't find anything related to a 64bit version.
Can you / any one please post a code sample to demonstrate how to work with 64bit?
Or is that an issue with any settings?

Thnx
0
 
Éric MoreauSenior .Net ConsultantCommented:
Instead of trying to find the way to get your method working on 64-bits, try the other mechanism. I have used it on 32 and 64 bits.
0
 
JimFiveCommented:
What does the result of debug.print OutlookApp.Version look like?
0
 
gopalvAuthor Commented:
Hi Jim

The Debug.Print also giving the same issue. What I am seeing when looking for OutlookApp object properties, all these properties are showing the same message. Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error

Thanks
0
 
gopalvAuthor Commented:
Eric

Thanks for your advice. Let me check your code once more. Hopefully, I will get my answer from this.

Thanks
0

Featured Post

Easily manage email signatures in Office 365

Managing email signatures in Office 365 can be a challenging task if you don't have the right tool. CodeTwo Email Signatures for Office 365 will help you implement a unified email signature look, no matter what email client is used by users. Test it for free!

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now