【发布时间】:2013-02-12 10:00:43
【问题描述】:
您好,我正在创建一个新的 Outlook.Application(使用 v.14.0.0.0 Office 库)并使用 C# 检索收件箱电子邮件。只有当 Outlook 没有运行时,我才会收到错误
'对象引用未设置为对象的实例'
在警报中(发生在第一行)。该程序正在运行(甚至没有进入 catch 部分)。
try {
Outlook.Application outlookApplication = new Outlook.Application();
Outlook.NameSpace mapiNameSpace = outlookApplication.GetNamespace("MAPI");
Outlook.MAPIFolder folder = mapiNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
foreach (Object obj in folder.Items) {
if (obj is Outlook.MailItem) {
Outlook.MailItem mailItem = (Outlook.MailItem)obj;
}
}
} catch (Exception e) {
Console.WriteLine("Unfortunately an error occurred");
Console.WriteLine(e.Message);
}
这个烦人的警报有什么解决方案吗?我可以压制它或解决问题吗?
警报来自 Outlook 实例,我可以看到它,因为在导航栏中打开了一个 Outlook 实例(小警报对话框)。
【问题讨论】:
-
folder对象有 items 吗?看起来你创建了一个对象但没有初始化它。你有没有逐行调试你的代码? -
是文件夹有项目,131。
-
哪一行崩溃了?
-
哪一行给你这个错误?调试它。
-
第一行。 Outlook.Application outlookApplication = new Outlook.Application();它不会崩溃,它只是发出警报并继续前进。
标签: c# object reference outlook instance