Solved

Opening Outlook 2003 profile using VBScript.

Posted on 2008-10-21
5
812 Views
Last Modified: 2012-05-05
Hi,
I want to use standalone VBSCRIPT to open an outlook mailbox. After opening it I will excute VBScript code shown below to close that outlook mailbox. Here's the code I'm using, please let me know where I am going wrong.  

opening Outlook mailbox code - NOT WORKING
_______________________________________________________________
Set objOutlook = CreateObject("Outlook.Application")      ' Get Outlook
Set objNamespace = objOutlook.GetNamespace("MAPI")      ' Get MAPI
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)      ' Get inbox
_______________________________________________________________

Closing Outlook mailbox code - WORKING
_______________________________________________________________
Set olMAPI = GetObject("", "Outlook.Application").GetNamespace("MAPI")
olMAPI.Application.Quit
Set olMAPI = Nothing
_______________________________________________________________

Thanks you for your help.
0
Comment
Question by:atskiii
  • 3
  • 2
5 Comments
 
LVL 59

Expert Comment

by:Chris Bottomley
Comment Utility
Hello atskiii,

Try replacing:
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)      ' Get inbox
with
Set objFolder = objNamespace.GetDefaultFolder(6)      ' Get inbox

Regards,

chris_bottomley
0
 

Author Comment

by:atskiii
Comment Utility
Hi Chris,

Thank you for your help. I have replaced "olFolderInbox" with "6" and error message I used to get, "Could  not complete the operation. One or more parameter values are not valid." no longer appears. When executing the code with parameter value "6", nothing seems to happen. What does value "6" represent? I tried "5" because Inbox is the 5th folder in my mailbox. sorry for this silly question. I am new to VBscripting so all seems so obvious to ask.

Thank you for your help again.
0
 
LVL 59

Expert Comment

by:Chris Bottomley
Comment Utility
In VBA the constant olFolderInbox has a value of 6.  VBS does not know the values for VBA constants hence the substitution.

Your snippet:

Set objOutlook = CreateObject("Outlook.Application")      ' Get Outlook
Set objNamespace = objOutlook.GetNamespace("MAPI")      ' Get MAPI
Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)      ' Get inbox

establishes a connection to outlook but you cannot see it, objoutlook.visible should render it visble ... if however you are merely doing some processing you would not need it to be visible hence any snippets you saw to create this code may not have needed the visibility of the application.

I could of course be wrong, but that's my first take on the matter, let me know how it goes.

Chris
0
 

Accepted Solution

by:
atskiii earned 0 total points
Comment Utility
Hi Chris,

Thanks for your lead. Since we last spoke I have been playing and reading and I achived to open Outlook by using the code below, using the Shell command. It does what I wanted to do and I am happy. After opening Outlook I pause for 3000msec and I close it using the code below.
_______________________________________________
Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.run "Outlook"
_______________________________________________

To close Outlook  I used the code from earlier
_______________________________________________
Dim olMAPI
Set olMAPI = GetObject("", "Outlook.Application").GetNamespace("MAPI")
olMAPI.Application.Quit
Set olMAPI = Nothing
________________________________________________

Thanks again for your assistance with this.

Aleks
0
 
LVL 59

Expert Comment

by:Chris Bottomley
Comment Utility
Most disappointing, I have tested the answer I gave to the original code and indeed replacing the constant with a magic number works, the outlook application is opened and closed again afterwards ... the follow on question whilst not fully resolved was not in the original so closing the Q as self answered is I believe unfair, but for 100 points i'm not about to argue.

Chris
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Join & Write a Comment

Use email signature images to promote corporate certifications and industry awards.
This process describes the steps required to Import and Export data from and to .pst files using Exchange 2010. We can use these steps to export data from a user to a .pst file, import data back to the same or a different user, or even import data t…
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 …
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

728 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now