Хорошо, я пытаюсь подключиться к общему календарю Outlook в C # с помощью Interop и добавить новый запрос на собрание.
Вот что я получил, начиная с моих операторов использования (этоФорма Windows):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Windows.Forms;
using Outlook = Microsoft.Office.Interop.Outlook;
Затем у меня есть общедоступный класс "Встречи", который ниже:
public class Appointments
{
public string ConversationTopic { get; set; }
public int Duration { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
public string Organizer { get; set; }
public int ReminderMinutesBeforeStart { get; set; }
public string RequiredAttendees { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}
У меня есть новая пустая форма окна с представлением таблицы данных, которое в данный момент называетсяdataGridView1.Код события загрузки формы приведен ниже:
private void Form1_Load(object sender, EventArgs e)
{
Outlook.Application oApp;
oApp = new Outlook.Application();
Outlook.NameSpace oNS = oApp.GetNamespace("mapi");
oNS.Logon(Missing.Value, Missing.Value, true, true);
Outlook.Recipient oRecip = (Outlook.Recipient)oNS.CreateRecipient("Foo bar");
Outlook.MAPIFolder oFolder = (Outlook.MAPIFolder) oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderCalendar);
List<Appointments> appointmentList = new List<Appointments>();
foreach (object item in oFolder.Items)
{
Outlook.AppointmentItem thisOne = (Outlook.AppointmentItem)item;
appointmentList.Add(new Appointments { ConversationTopic = thisOne.ConversationTopic, Duration = thisOne.Duration, EndTime = thisOne.End, Organizer = thisOne.Organizer, ReminderMinutesBeforeStart = thisOne.ReminderMinutesBeforeStart, RequiredAttendees = thisOne.RequiredAttendees, StartTime = thisOne.Start, Subject = thisOne.Subject, Body = thisOne.Body });
}
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = appointmentList;
dataGridView1.Sort(dataGridView1.Columns["Subject"], ListSortDirection.Descending);
}
. Это работает безупречно при подключении к моему календарю и заполнении моего представления сетки данных всей моей соответствующей информацией календаря.Теперь я хочу программно отправить новый запрос на собрание в календарь.
Я предполагаю, что запрос на собрание - это oFolder.Item, поэтому я хочу набрать:
oFolder.Items.Add(* details here *);
Внутрив скобках intellisense просто говорится следующее:
dynamic_Items.Add ([object Type = Type.Missing])
Теперь я в тупике, и помощь будет оченьоценил.
Спасибо