讀取Outlook行事曆錯誤 |
缺席
|
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
各位先進您好!
小弟目前寫了一段程式,主要是讀取outlook的行事曆,奇怪的是有兩台電腦都是outlook 2003,且平台是XP Pro SP3, 一台不會出現如圖的錯誤畫面,另一台會出現,一直無法解決,請先進們指導一下! 謝謝! 程式碼如下: [code cpp] int i = 0; AnsiString subject,location,body,busyStatus,isRecurring,importance,reminderSet; AnsiString reminderMinutesBeforeStart,allDayEvent; AnsiString recurrType,recurrStatus,recurrNoEndDate; AnsiString sID; Variant vsubject,vlocation,vbody,vbusyStatus,visRecurring,vimportance,vreminderSet; Variant vreminderMinutesBeforeStart,vallDayEvent; Variant vID; TDateTime dtstart,dtend; _NameSpacePtr spNamespace = OutlookApplication->GetNamespace((wchar_t*)WideString("MAPI")); MAPIFolderPtr spFolder = spNamespace->GetDefaultFolder(OlDefaultFolders::olFolderCalendar); _ItemsPtr spItems = spFolder->Items; _AppointmentItemPtr spAppointment; RecurrencePatternPtr RecurrPatt; Memo2->Lines->Clear(); Variant v; for(i=0;i { v = Variant(i 1); spAppointment = spItems->Item(v); //if(i==2) //{ //spAppointment->Subject = (wchar_t*)StringToOleStr(AnsiString("duke test ok")); //spAppointment->Body = (wchar_t*)StringToOleStr(AnsiString("I m' duke")); //spAppointment->Save(); //spAppointment->Delete(); //} if(spAppointment->IsRecurring) { RecurrPatt = spAppointment->GetRecurrencePattern(); switch(RecurrPatt->RecurrenceType) { /* olRecursDaily-每天 */ case 0: recurrType = AnsiString("每天"); recurrStatus = AnsiString("每") RecurrPatt->Interval AnsiString("天"); break; // .........省略 } /* 開始日期、時間 */ dtstart = RecurrPatt->PatternStartDate; /* 結束日期、時間 */ dtend = RecurrPatt->PatternEndDate; } /* 傳回代表 Outlook 項目交談紀錄索引的 String (每筆資料的唯一值) */ vID = spAppointment->get_ConversationIndex(); sID = vID; /* 主旨Subject */ vsubject = spAppointment->Subject; subject = vsubject; /* 地點Location */ vlocation = spAppointment->Location; location = vlocation; /* 內容Body */ vbody = spAppointment->Body; body = vbody; /* 忙碌狀態BusyStatus */ vbusyStatus = spAppointment->BusyStatus; busyStatus = vbusyStatus; /* 週期性約會IsRecurring */ visRecurring = spAppointment->IsRecurring; isRecurring = visRecurring; /* 重要等級Importance */ vimportance = spAppointment->Importance; importance = vimportance; /* 提醒ReminderSet */ vreminderSet = spAppointment->ReminderSet; reminderSet = vreminderSet; /* 約會開始前多少分鐘發出提醒ReminderMinutesBeforeStart */ vreminderMinutesBeforeStart = spAppointment->ReminderMinutesBeforeStart; reminderMinutesBeforeStart = vreminderMinutesBeforeStart; /* 全天AllDayEvent */ vallDayEvent = spAppointment->AllDayEvent; allDayEvent = vallDayEvent; if(!spAppointment->IsRecurring) { /* 開始日期、時間 */ dtstart = spAppointment->Start; /* 結束日期、時間 */ dtend = spAppointment->End; } Memo2->Lines->Add(AnsiString("ID:" sID "\r\n") AnsiString("主旨:" subject "\r\n") AnsiString("地點:" location "\r\n") AnsiString("內容:" body "\r\n") AnsiString("忙碌狀態:" busyStatus "\r\n") AnsiString("重要等級:" importance "\r\n") AnsiString("提醒:" reminderSet "\r\n") AnsiString("約會開始前幾分鐘發出提醒:" reminderMinutesBeforeStart "\r\n") AnsiString("全天:" allDayEvent "\r\n") AnsiString("週期性行程:" isRecurring "\r\n") AnsiString("週期性類型:" recurrType "\r\n") AnsiString("週期性狀態:" recurrStatus "\r\n") AnsiString("開始時間:" dtstart "\r\n") AnsiString("結束時間:" dtend)); Memo2->Lines->Add("======================================\r\n\r\n"); } [/code] |
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
|
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |