2

Outlook appitem をポップアップする次のコードがあります。「出席者を招待」をクリックしない限り、ポップアップに実際の出席者のテキストボックスが表示されないことを除けば、うまく機能します。appt アイテムのそのボタンをクリックすると、下に入力した人のリストが表示されます。

 public void BookAppt(List<string> rooms, DateTime startTime, DateTime endTime)
    {
        var PacktAppointmentItem = (Microsoft.Office.Interop.Outlook.AppointmentItem)Globals.ThisAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
        PacktAppointmentItem.Subject = "Test Meeting";
        PacktAppointmentItem.Location = "My Room";
        PacktAppointmentItem.Start = startTime;
        PacktAppointmentItem.End = endTime;
        PacktAppointmentItem.Body = "Test Meeting";
        PacktAppointmentItem.RequiredAttendees = String.Join(";", rooms);
        PacktAppointmentItem.Display(true);
    }

「出席者を招待」ボタンをクリックしなくても、出席者のテキストボックスが自動的に表示されるようにする方法はありますか? また、参加者が解決されるようにプログラムで「名前の確認」を呼び出す方法はありますか?

4

1 に答える 1

1

あなたが望むのは、AppointmentItem ではなく MeetingItem だと思います。MeetingItem を直接作成することはできませんが、ほとんどどこでも作成できます。コードに次の行を追加するだけです。

PacktAppointmentItem.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;

したがって、最終的なコードは次のようになります

var PacktAppointmentItem = (Microsoft.Office.Interop.Outlook.AppointmentItem)Globals.ThisAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
PacktAppointmentItem.Subject = "Test Meeting";
PacktAppointmentItem.Location = "My Room";
PacktAppointmentItem.Start = DateTime.Now;
PacktAppointmentItem.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
PacktAppointmentItem.End = DateTime.Now.AddHours(1.0);
PacktAppointmentItem.Body = "Test Meeting";
PacktAppointmentItem.RequiredAttendees = String.Join(";", rooms);
PacktAppointmentItem.Display(true);

簡単な背景: Microsoft から: http://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.outlook.meetingitem(v=office.14).aspx

他の Microsoft Outlook オブジェクトとは異なり、この [eg MeetingItem] オブジェクトを作成することはできません。AppointmentItem オブジェクトの MeetingStatus プロパティを olMeeting に設定し、1 人以上のユーザーに送信すると、自動的に作成されます。彼らはそれを MeetingItem として受信トレイに受け取ります。

于 2013-02-19T01:22:39.983 に答える