2016-07-15 11 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に変更を加えました。あなたのアプリケーションはあなたのOutlookと同じプロセッサセットですか?つまり、あなたのOutlookがx32の場合、あなたのコードはコンパイル時に同じ設定を利用しなければなりません。 –

+0

私のアプリは「任意のCPU」すなわちx64でコンパイルされています。しかし、それはコンパイルと正常に実行され、予定はデスクトップの見通しに追加されますが、それはインターネットに沿って同期されていません。 – Alto

+0

私はここでアプリケーション "任意のCPU"とOutlook 2013/Office 365を使用して問題を抱えており、いつも完全に機能していました。すべての機能を再利用するためには、別のバージョンをコンパイルする必要がありました。あなたのコードを見て、あなたはMAPIに関連するすべてのデータでLOGONを設定する必要がありますか? –

答えて

0

私はsaveメソッドの後に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(); 
関連する問題