Click here to Skip to main content
6,822,123 members and growing! (16,508 online)
Email Password   helpLost your password?
Enterprise Systems » Office Development » Outlook     Advanced License: The Code Project Open License (CPOL)

Import and Export Outlook Appointments (using JavaScript)

By Sandeep Mewara

How to import and export appointments from Outlook on client-side via JavaScript (for a web application hosted on the server).
C#, Javascript, HTML, Windows, .NET, ASP.NET, VS2005, Dev
Posted:7 May 2007
Updated:24 Sep 2008
Views:44,224
Bookmarked:61 times
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
51 votes for this article.
Popularity: 6.32 Rating: 3.70 out of 5
14 votes, 27.5%
1
1 vote, 2.0%
2
1 vote, 2.0%
3
3 votes, 5.9%
4
32 votes, 62.7%
5

Screenshot - OutlookDemo2.png

Introduction

This article illustrates an example of how to import and export appointments from an Outlook application installed on the client machine and a web-application on the server. The web application being hosted on the server, extraction of appointments can not be done on the server-side as every other user has his/her own list of appointments stored in their Outlook.

Background

I was working on a project that had a requirement to import and export appointments from an Outlook application: saving appointments on the client machine as per the client's choice, and porting appointments from Outlook appointments into the web-application. I tried to find help on the Internet for the same, but failed to find any article written on it.

Using the code

Since we need to extract the appointments on the client-side, we will be using an ActiveX object. Thus, we need to enable the setting to allow ActiveX scripts, as shown below (found under Security Settings of Internet Options):

Screenshot - OutlookDemo1.png

Once an Outlook application is installed on the system and the security setting is done as per above, we are ready to import/export appointments.

// create outlook object
var objOutlook = new ActiveXObject( "Outlook.Application" );

In the case of exporting: for the different items in Outlook, there are fixed item numbers, like:

var olAppointmentItem = 1; //fixed for different properties of outlook object
var objAppointment = objOutlook.CreateItem(olAppointmentItem);

Now, the properties of this object can be set as per required and then saved.

objAppointment.Subject = "Appointment exported to Outlook from a web application"; 
..... 
objAppointment.Duration = duration; 
objAppointment.Save();

In the case of import: again, for the different items in Outlook, there are fixed item numbers, like:

var outlookFolderCalendar = 9;

We will get all the appointments after creating the MAPI namespace, and give the default folder name.

var objNameSpace = objOutlook.GetNamespace("MAPI");
var outlookFolder = objNameSpace.GetDefaultFolder(outlookFolderCalendar);
var myOutlookItems = outlookFolder.Items;

For example, I have to show the first appointment in the calendar. The different properties can be extracted like:

var dateOfAppointment = myOutlookItems(1).Start;
.....
var bodyOfAppointment = myOutlookItems(1).Body;

The extracted values of each appointment can now be used as per your needs. One thing to note is while extracting appointments from Outlook, we get a prompt like shown below:

Screenshot - Outlookdemo3.png

We need to allow access in order to get the appointments from Outlook.

Points of Interest

Since I was using an ActiveX object, it was difficult getting the different property names required, as ActiveX objects cannot be debugged for quick-watch. It was fun and irritating at the same time to find all the properties required. Not to forget the case-sensitive nature of JavaScript!

History

First version.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Sandeep Mewara


Member
Did my B.Tech from IIT Kharagpur.

Currently, working as a Module Lead at
Proteans Software Solutions Pvt. Ltd., Bangalore.

Proteans is an outsourcing company
focusing on software product development and business
application development on Microsoft Technology Platform.

=====================================================
Occupation: Web Developer
Company: Proteans Software Solutions Pvt. Ltd., Bangalore.
Location: India India

Other popular Office Development articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 37 (Total in Forum: 37) (Refresh)FirstPrevNext
QuestionOutLook 2007 Calendar Type Control Pinmemberlatell0:05 16 Oct '09  
Questionnot working in Safari & Mozila Pinmemberamit72119:52 27 Apr '09  
AnswerRe: not working in Safari & Mozila PinmemberSandeep Mewara20:17 9 Jun '09  
GeneralRe: not working in Safari & Mozila Pinmemberamit72121:35 25 Jun '09  
GeneralUrgently Required ....... Pinmembertrushitshah21:49 23 Apr '09  
AnswerRe: Urgently Required ....... PinmemberSandeep Mewara20:18 9 Jun '09  
GeneralRe: Urgently Required ....... Pinmembertrushitshah21:01 9 Jun '09  
QuestionUrgently required PinmemberMeCode120:39 22 Apr '09  
AnswerRe: Urgently required PinmemberSandeep Mewara20:21 9 Jun '09  
QuestionThis code works well and good in IE7. But its not working in IE6. Pinmembersannu_eshwari20:36 1 Apr '09  
AnswerRe: This code works well and good in IE7. But its not working in IE6. PinmemberSandeep Mewara20:22 9 Jun '09  
GeneralThank u ur code is great PinmemberManprit.bagga19:05 5 Mar '09  
AnswerRe: Thank u ur code is great PinmemberSandeep Mewara20:23 9 Jun '09  
GeneralRe Import and Export Outlook appointments using javascript Pinmemberbsidey21:38 10 Jan '09  
AnswerRe: Re Import and Export Outlook appointments using javascript PinmemberSandeep Mewara20:13 18 Jan '09  
GeneralFinding outlook and exporting an event to the outlook Pinmembernainakarri5:09 17 Dec '08  
AnswerRe: Finding outlook and exporting an event to the outlook PinmemberSandeep Mewara23:05 21 Dec '08  
GeneralRe: Finding outlook and exporting an event to the outlook Pinmembernainakarri4:58 26 Dec '08  
AnswerRe: Finding outlook and exporting an event to the outlook PinmemberSandeep Mewara0:44 27 Dec '08  
GeneralRe: Finding outlook and exporting an event to the outlook Pinmembernainakarri3:19 27 Dec '08  
AnswerRe: Finding outlook and exporting an event to the outlook PinmemberSandeep Mewara18:25 29 Dec '08  
Generalget all messages [modified] Pinmembertestnoem23:48 4 Sep '08  
AnswerRe: get all messages PinmemberSandeep Mewara20:12 25 Sep '08  
GeneralImport & Export Outlook Pinmemberuser user5:35 28 Aug '08  
GeneralRe: Import & Export Outlook Pinmembertestnoem23:41 4 Sep '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads.

PermaLink | Privacy | Terms of Use
Last Updated: 24 Sep 2008
Editor: Smitha Vijayan
Copyright 2007 by Sandeep Mewara
Everything else Copyright © CodeProject, 1999-2010
Web10 | Advertise on the Code Project