Solved

Opening Outlook 2003 profile using VBScript.

Posted on 2008-10-21
5
861 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
[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
  • 3
  • 2
5 Comments
 
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22777557
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
ID: 22781842
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
ID: 22783451
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
ID: 22791276
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
ID: 22791392
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

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

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

Large Outlook files lead to various unwanted errors and corruption issues. Furthermore, large outlook files can also make Outlook take longer to start-up, search, navigate, and shut-down. So, In this article, i will discuss a method to make your Out…
How to resolve IMCEAEX NDRs in Exchange or Exchange Online related to invalid X500 addresses.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…

691 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