2016-07-15 37 views
0

我正在開發一個使用Outlook COM對象庫的C#應用​​程序。 將約會添加到日曆後,立即顯示在Outlook桌面應用程序中,但未在Outlook Web應用程序中找到該約會。可悲的是,一些約會得到了同步,並且它突然停止同步。 下面是如何保存的約會:爲什麼Outlook沒有同步

Outlook.Application olApp = new Outlook.Application(); 
Outlook.NameSpace mapiNS = olApp.GetNamespace("MAPI"); 

string profile = ""; 
mapiNS.Logon(profile, null, null, null); 

Outlook.AppointmentItem apt = olApp.CreateItem(Outlook.OlItemType.olAppointmentItem); 
apt.Save(); 

我怎樣才能使它得到同步?

+0

最近微軟向Outlook COM做了一個f ****更改。您確定您的應用程序與您的Outlook設置相同嗎?我的意思是,如果你的Outlook是x32,你的代碼*必須*使用相同的編譯設置。 –

+0

我的應用程序正在編譯「任何CPU」,即x64。但它編譯和運行成功,並將約會添加到桌面前景,但它不會沿着互聯網同步。 – Alto

+0

我在這裏遇到了使用應用程序「任何CPU」和Outlook 2013/Office 365的問題 - 並且它的功能一直很好。我不得不編譯不同的版本才能再次運行。看到你的代碼,你需要設置與MAPI相關的所有數據的LOGON,不是嗎? –

回答

0

我必須在保存方法後調用send方法,否則Outlook會在需要時發送約會。

Outlook.Application olApp = new Outlook.Application(); 
Outlook.NameSpace mapiNS = olApp.GetNamespace("MAPI"); 

string profile = ""; 
mapiNS.Logon(profile, null, null, null); 

Outlook.AppointmentItem apt = olApp.CreateItem(Outlook.OlItemType.olAppointmentItem); 
apt.Save(); 
apt.Send(); 
相關問題