我正在尝试从一些共享的交换日历中获取一些日历约会。第一次访问工作正常。但是当我再次调用该函数时。我得到一个超出范围的错误。
当我将所有全局变量发送到temp var时,我得到错误“无法打开日历”。
如何创建Outlook实例然后再次关闭它。那么你可以在需要时创建一个新的?
由于
Outlook.Folder _folder = null;
Outlook.Application oApp;
Outlook.Recipient recip;
private void GetCalendar(string mailAddressOfCalendar)
{
if (_folder != null)
{
ForceUpdateAddOnCalaendar(_folder);
}
else
{
oApp = new Outlook.Application();
Outlook.AddressEntry addrEntry = oApp.Session.CurrentUser.AddressEntry;
if (addrEntry.Type == "EX")
{
recip = oApp.Session.CreateRecipient(mailAddressOfCalendar);
if (recip.Resolve())
{
try
{
if (_folder == null)
{
_folder =
oApp.Session.GetSharedDefaultFolder(
recip, Outlook.OlDefaultFolders.olFolderCalendar)
as Outlook.Folder;
}
ForceUpdateAddOnCalaendar(_folder);
}
catch
{
MessageBox.Show("Could not open calendar",
"GetSharedDefaultFolder Example",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
}
}
答案 0 :(得分:0)
发现问题: 用这种方法工作正常。问题实际上不是功能,而是我创建的全球任命列表。因为我在同时访问列表时更新列表而遇到冲突。这就是它每次尝试都崩溃的原因。
a