Outlookアドインを作成していて、保存された後に予定のデータで何か(ここでは関係ありません)をしたいと思います。
(私はOutlook-Addinsを初めて使用しています)
だから、AfterWriteイベントがあります。ここにメソッドを登録できます。 そして、のItemLoadイベントがのアプリケーションにあります。Outlook Appointmentが保存された後のイベント
ので、私の最初のEffordはこのようなものだった:問題は、私は、イベントを解雇予定のデータを取得する方法がわからないということ、である
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// ...
this.Application.ItemLoad +=
new Outlook.ApplicationEvents_11_ItemLoadEventHandler(atItemLoad);
}
public void atItemLoad(Object item)
{
Outlook.AppointmentItem aitem = item as Outlook.AppointmentItem;
if (aitem != null)
{
aitem.AfterWrite +=
new Outlook.ItemEvents_10_AfterWriteEventHandler(afterWrite);
}
}
public void afterWrite()
{
// Who was written?
MessageBox.Show("it was written!");
}
。 Application.ItemLoadは、オブジェクトを取得する関数を登録します。この関数は、アポイントにキャストできます。
AfterWriteはありません。私の英語がめちゃくちゃである場合
public void afterWrite(Outlook.AppointmentItem aitem)
{
// do something with the data from the Appointment
MessageBox.Show(aitem.Subject + " was written!");
}
私は、私は完全に間違った方向に研究していますことを恐れ...
*申し訳ありません - それは
私の母国語ではない:私はこのような何かが欲しいです編集:
私もこのような構造試してみました:
private List<AppointmentEventHolder> holderList = new List<AppointmentEventHolder>();
internal class AppointmentEventHolder
{
private Outlook.AppointmentItem aitem = null;
public AppointmentEventHolder(Outlook.AppointmentItem item)
{
aitem = item;
}
public void onWrite()
{
MessageBox.Show("write: " + aitem.Subject);
}
}
public void atItemLoad(Object item)
{
Outlook.AppointmentItem aitem = item as Outlook.AppointmentItem;
if (aitem != null)
{
AppointmentEventHolder aHolder = new AppointmentEventHolder(aitem);
holderList.Add(aHolder);
aitem.AfterWrite += aHolder.onWrite;
}
}
をが、イベントは解雇されません! 私は今非常に挫折しています
C#コードが指している「** Constants.FOLDERNAME **」とは何ですか? この定数の意味を理解していないと、コードを構築できません。 –
'プライベートMAPIFolder GetCalendarFolder() {var app = new Microsoft.Office.Interop.Outlook.Application(); 名前空間名前空間= app.GetNamespace( "MAPI"); return nameSpace.GetDefaultFolder(OlDefaultFolders.olFolderCalendar); } '**このメソッドを使用して、デフォルトのOutlook.MAPIFolderオブジェクトを取得します。** –