Solved

Is it possible to open an Outlook appointment window from an asp.net control?

Posted on 2011-03-17
9
1,296 Views
Last Modified: 2012-05-11
Hi,
I'd like to open an Outlook appointment window from an asp.net control (say a button or a linkbutton or something, it doesn't really matter). I don't want to send the appointment, just open it with a string of text placed in the text part of the window. Once it was opened displaying the necessary text users would then treat the appointment exactly as they would a manually created one. I'm using Visual Studio 2010 / Outlook 2007 / Outlook 2010 / Exchange 2010.
Thanks in advance,
Louise

0
Comment
Question by:louise001
  • 4
  • 4
9 Comments
 
LVL 10

Assisted Solution

by:John Claes
John Claes earned 500 total points
Comment Utility
I Would suggest looking the follwing urls

Google using ".NEt create outlook appointment"
http://www.daniweb.com/software-development/vbnet/threads/31968
http://support.microsoft.com/kb/313788
http://msdn.microsoft.com/en-us/library/ms877306.aspx
http://www.devx.com/getHelpOn/10MinuteSolution/20508/0/page/4
http://www.vbdotnetheaven.com/UploadFile/hirendra_singh/Outlook311092009053215AM/Outlook3.aspx


What you have to do is to create the Object and stream it to the User.
This is the example I used (Quoted from this site: http://www.outlookcode.com/codedetail.aspx?id=775 )


//First thing you need to do is add a reference to Microsoft Outlook 11.0 Object Library. Then, create new instance of Outlook.Application object:
 
Outlook.Application outlookApp = new Outlook.Application ();
 
//Next, create an instance of AppointmentItem object and set the properties:
 
Outlook.AppointmentItem oAppointment = (Outlook.AppointmentItem) outlookApp.CreateItem (Outlook.OlItemType.olAppointmentItem);
 
oAppointment.Subject = "This is the subject for my appointment";
oAppointment.Body = "This is the body text for my appointment";
oAppointment.Location = "Appointment location";
 
// Set the start date
oAppointment.Start = Convert.ToDateTime ("10/10/2004 10:00:00 AM");
// End date
oAppointment.End = Convert.ToDateTime ("10/10/2004 2:00:00 PM");
// Set the reminder 15 minutes before start
oAppointment.ReminderSet = true;
oAppointment.ReminderMinutesBeforeStart = 15;
 
//Setting the sound file for a reminder:
set ReminderPlaySound = true
//set ReminderSoundFile to a filename.
 
//Setting the importance:
//use OlImportance enum to set the importance to low, medium or high
 
oAppointment.Importance = Outlook.OlImportance.olImportanceHigh;
 
/* OlBusyStatus is enum with following values:
olBusy
olFree
olOutOfOffice
olTentative
*/
oAppointment.BusyStatus = Outlook.OlBusyStatus.olBusy;
 
//Finally, save the appointment:
 
// Save the appointment
oAppointment.Save ();
 
// When you call the Save () method, the appointment is saved in Outlook. Another useful method is ForwardAsVcal () which can be used to send the Vcs file via email.
 
Outlook.MailItem mailItem = oAppointment.ForwardAsVcal ();
mailItem.To = "recipients email address";
mailItem.Send ();

Open in new window

0
 

Author Comment

by:louise001
Comment Utility
Thanks, I am reading ...
0
 
LVL 10

Expert Comment

by:John Claes
Comment Utility
Louise,

does it work for you ?
0
 

Accepted Solution

by:
louise001 earned 0 total points
Comment Utility
Hello again,
Whenever I try to instantiate a New Microsoft.Office.Interop.Outlook.Application I'm repeatedly getting this error or similar:
Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80010001 Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)).

I'm wondering if it's something to do with accounts under which Internet Explorer and Outlook run or some other permissions issue. In the end I found this solution which works perfectly for my requirements: http://msdn.microsoft.com/en-us/library/bb655909%28office.12%29.aspx.

I'll award you the points as you pointed me in the right direction.
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 

Author Comment

by:louise001
Comment Utility
My mistake, I intended to mark expert comment and my own comment as answers and award points to expert. Could you please cancel so I can do that? Thanks.
0
 
LVL 10

Expert Comment

by:John Claes
Comment Utility
please read the commont ;-)
0
 
LVL 10

Expert Comment

by:John Claes
Comment Utility
please read the comment ;-)
0
 

Author Closing Comment

by:louise001
Comment Utility
poor_beggar, thanks for your help.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Set OWA language and time zone in Exchange for individuals, all users or per database.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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 …

772 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