Adding an Appointment to the Calendar
Adding an Appointment to the Calendar
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
You can add appointments to a user's personal calendar folder and to a public folder.
To add an appointment to a folder
- Create an Appointment object.
- Set the properties of the appointment. A StartTime is required.
- Save the appointment to the designated folder by using the Appointment object's IDataSource Interface.
This topic contains Microsoft® Visual Basic®, Microsoft Visual C++®, Microsoft C#, and Visual Basic .NET code examples.
Visual Basic
The following example shows how to create an appointment and then save it to a specified folder:
' Reference to Microsoft ActiveX Data Objects 2.5 Library ' Reference to Microsoft CDO for Exchange 2000 Library ' Note: It is recommended that all input parameters be validated when they are ' first obtained from the user or user interface. Function CreateAppointment(StartTime As Date, _ EndTime As Date, _ Subject As String, _ Location As String, _ TextBody As String, _ iMbx As IMailbox) As Appointment Dim iAppt As New Appointment Dim Conn As New ADODB.Connection Conn.Provider = "ExOLEDB.DataSource" 'Set the appointment properties With iAppt .StartTime = StartTime .EndTime = EndTime .Subject = Subject .Location = Location .TextBody = TextBody 'Save the appointment Conn.Open iMbx.BaseFolder .DataSource.SaveToContainer iMbx.Calendar, Conn End With Set CreateAppointment = iAppt End Function
C++
The following example shows how to create an appointment and then save it to a specified folder:
/* Assume that the following paths are in your INCLUDE path. %CommonProgramFiles%\system\ado %CommonProgramFiles%\microsoft shared\cdo */ #import <msado15.dll> no_namespace #import <cdoex.dll> no_namespace #include <iostream.h> // Note: It is recommended that all input parameters be validated when they are // first obtained from the user or user interface. IAppointmentPtr CreateAppointment(DATE startTime, DATE endTime, bstr_t subject, bstr_t location, bstr_t textbody, const IMailboxPtr& iMbx) { IAppointmentPtr iAppt(__uuidof(Appointment)); _ConnectionPtr Conn(__uuidof(Connection)); IDataSourcePtr iDsrc; Conn->Provider = "ExOLEDB.DataSource"; try { //Set the appointment properties iAppt->StartTime = startTime; iAppt->EndTime = endTime; iAppt->Subject = subject; iAppt->Location = location; iAppt->TextBody = textbody; //Save the appointment iDsrc = iAppt; Conn->Open(iMbx->BaseFolder, bstr_t() , bstr_t(), -1); cout << "save to container here" << endl; iDsrc->SaveToContainer(iMbx->Calendar, Conn, adModeReadWrite, adCreateNonCollection, adOpenSource, bstr_t(), bstr_t() ); } catch(_com_error e) { cout << "Error setting props on appointment??" << endl; throw e; } return iAppt; }
C#
The following example shows how to create an appointment and then save it to a specified folder:
// Reference to Microsoft ActiveX Data Objects 2.5 Library // Reference to Microsoft CDO for Exchange 2000 Library // Reference to Active DS Type Library // Note: It is recommended that all input parameters be validated when they are // first obtained from the user or user interface. static CDO.Appointment CreateAppointment(DateTime StartTime, DateTime EndTime, String Subject, String Location, String TextBody, CDO.IMailbox iMbx) { try { // Variables. CDO.Appointment iAppt = new CDO.Appointment(); ADODB.Connection Conn = new ADODB.Connection(); Conn.Provider = "ExOLEDB.DataSource"; //Set the appointment properties. iAppt.StartTime = StartTime; iAppt.EndTime = EndTime; iAppt.Subject = Subject; iAppt.Location = Location; iAppt.TextBody = TextBody; //Save the appointment Conn.Open(iMbx.BaseFolder, "", "", -1); iAppt.DataSource.SaveToContainer(iMbx.Calendar, Conn, ADODB.ConnectModeEnum.adModeReadWrite, ADODB.RecordCreateOptionsEnum.adCreateNonCollection, ADODB.RecordOpenOptionsEnum.adOpenSource, "", ""); Console.WriteLine("Appointment saved."); return iAppt; } catch (Exception err) { Console.WriteLine(err.ToString()); return null; } }
Visual Basic .NET
The following example shows how to create an appointment and then save it to a specified folder:
' Reference to Microsoft ActiveX Data Objects 2.5 Library ' Reference to Microsoft CDO for Exchange 2000 Library ' Reference to Active DS Type Library ' Note: It is recommended that all input parameters be validated when they are ' first obtained from the user or user interface. Function CreateAppointment(ByVal StartTime As Date, _ ByVal EndTime As Date, _ ByVal Subject As String, _ ByVal Location As String, _ ByVal TextBody As String, _ ByVal iMbx As CDO.IMailbox) As CDO.Appointment Try ' Variables. Dim iAppt As New CDO.Appointment() Dim Conn As New ADODB.Connection() Conn.Provider = "ExOLEDB.DataSource" With iAppt ' Set the appointment properties. .StartTime = StartTime .EndTime = EndTime .Subject = Subject .Location = Location .TextBody = TextBody 'Save the appointment. Console.WriteLine(iMbx.BaseFolder) Conn.Open(iMbx.BaseFolder) .DataSource.SaveToContainer(iMbx.Calendar, Conn) End With Console.WriteLine("Appointment created.") CreateAppointment = iAppt Catch err As Exception Console.WriteLine(err.ToString()) CreateAppointment = Nothing End Try End Function
Send us your feedback about the Microsoft Exchange Server 2003 SDK.
This topic last updated: September 2003
Build: June 2007 (2007.618.1)
© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.