Solved

Microsoft outlook programming issue

Posted on 2014-02-20
8
566 Views
Last Modified: 2014-08-05
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
Comment
Question by:gopalv
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 39873216
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
 

Author Comment

by:gopalv
ID: 39873345
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
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 39873381
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
[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

 

Author Comment

by:gopalv
ID: 39874019
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
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 39874301
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
 
LVL 15

Accepted Solution

by:
JimFive earned 500 total points
ID: 39875050
What does the result of debug.print OutlookApp.Version look like?
0
 

Author Comment

by:gopalv
ID: 39875981
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
 

Author Comment

by:gopalv
ID: 39875984
Eric

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

Thanks
0

Featured Post

Interactive Way of Training for the AWS CSA Exam

An interactive way of learning that will help you visualize core concepts so that you can be more effective when taking your AWS certification exam.  Built for students by a student to help them understand the concepts that they are being taught.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Changing a few Outlook Options can help keep you organized!
This article will help to fix the below error for MS Exchange server 2010 I. Out Of office not working II. Certificate error "name on the security certificate is invalid or does not match the name of the site" III. Make Internal URLs and External…
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
CodeTwo Sync for iCloud (http://www.codetwo.com/sync-for-icloud?sts=6554) automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…

635 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question