我正在开发一个小工具,用于从C#中获取Outlook中的电子邮件。 下面的代码工作正常
Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
Microsoft.Office.Interop.Outlook.MAPIFolder myInbox = mapiNameSpace.Folders["mymailbox@provider.nl"].Folders["specificFolder"];
但是是否可以用变量替换特定的邮箱和文件夹以使其成为flexibel?
以下不起作用,因为程序以错误结束,说它无法找到对象:
string MailBox="mymailbox@provider.nl";
string MailFolder="specificFolder";
Microsoft.Office.Interop.Outlook.MAPIFolder myInbox =
mapiNameSpace.Folders[MailBox].Folders[MailFolder];
答案 0 :(得分:0)
答案比我想象的要简单得多,虽然没有放弃。
虽然MailBox
和MailFolder
都定义为string
类型,但我必须将代码更改为以下才能使其正常工作
string MailBox="mymailbox@provider.nl";
string MailFolder="specificFolder";
Microsoft.Office.Interop.Outlook.MAPIFolder myInbox =
mapiNameSpace.Folders[MailBox.ToString()].Folders[MailFolder.ToString()];