2009-12-23 37 views
5

Tôi đang cố gắng tạo một cuộc hẹn trong lịch Microsoft Outlook (2003) của người khác bằng cách sử dụng mã bên dưới. Khi chạy chương trình này, Cuộc hẹn sẽ được lưu trong lịch của tôi.But không được gửi đến người nhận.Làm cách nào để tạo và gửi các cuộc hẹn đến lịch 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()); 
} 

Tôi có thiếu gì không? Bất kỳ ai có thể giúp tôi để giải quyết vấn đề này?

Trả lời

3

Hãy thử thêm:

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

Mặc định tình trạng là một cuộc hẹn mà tôi không chắc chắn đang được gửi đi.

5

Sau khi bạn có việc bổ nhiệm:

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

Dưới đây là cách tôi cố định vấn đề này:

tôi đặt (như bài Sonny Boy):

Nhưng tôi cũng đã phải tạo tệp web.config và để thiết lập quyền truy cập ủy quyền để tránh bất kỳ COMException nào:

<system.web> 
    <authorization> 
    <deny users="?"/> 
    </authorization> 
</system.web> 
Các vấn đề liên quan