2009-12-23 133 views
5

我想使用下面的代碼在另一個人的Microsoft Outlook(2003)日曆中創建約會。在運行此程序時,約會被保存在我的日曆中,但未被髮送給收件人。如何創建並向Microsoft Outlook日曆發送約會?

try 
{ 
    Microsoft.Office.Interop.Outlook.Application app = null; 
    Microsoft.Office.Interop.Outlook.AppointmentItem appt = null; 

    app = new Microsoft.Office.Interop.Outlook.Application(); 

    appt = (Microsoft.Office.Interop.Outlook.AppointmentItem)app 
     .CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem); 
    appt.Subject = "Meeting "; 
    appt.Body = "Test Appointment body"; 
    appt.Location = "TBD"; 
    appt.Start = Convert.ToDateTime("12/23/2009 05:00:00 PM"); 
    appt.Recipients.Add("[email protected]"); 
    appt.End = Convert.ToDateTime("12/23/2009 6:00:00 PM"); 
    appt.ReminderSet = true; 
    appt.ReminderMinutesBeforeStart = 15; 
    appt.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh; 
    appt.BusyStatus = Microsoft.Office.Interop.Outlook.OlBusyStatus.olBusy; 
    appt.Save(); 
    appt.Send(); 
} 
catch (COMException ex) 
{ 
    Response.Write(ex.ToString()); 
} 

我是否缺少任何東西?任何人都可以幫我解決這個問題嗎?

回答

3

嘗試增加:

appt.MeetingStatus = Microsoft.Office.Interop.Outlook.OlMeetingStatus.olMeeting; 

默認狀態是預約這我不知道被髮送。

5

之後,你有約會:

Outlook.MailItem mailItem = appt.ForwardAsVcal(); 
mailItem.To = "recipient's email address"; 
mailItem.Send(); 
1

這是我如何解決了這個問題:

我把(如桑尼男孩的帖子):

但我也不得不創建一個web.config文件,並設置授權訪問以避免任何COMException:

<system.web> 
    <authorization> 
    <deny users="?"/> 
    </authorization> 
</system.web>