下面的图片是我在Application上遇到的问题。我试着添加
Outlook.Application Application = new Outlook.Application();
但什么都没变
我将命名空间添加为using Outlook = Microsoft.Office.Interop.Outlook;


#region Send Email
private void SendEmail()
{
string subjectEmail = "Meeting has been rescheduled.";
string bodyEmail = "Meeting is one hour later.";
Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderContacts);
foreach (Outlook.ContactItem contact in sentContacts.Items)
{
if (contact.Email1Address.Contains("example.com"))
{
this.CreateEmailItem(subjectEmail, contact
.Email1Address, bodyEmail);
}
}
}
private void CreateEmailItem(string subjectEmail, string toEmail, string bodyEmail)
{
Outlook.Application Application = new Outlook.Application();
Outlook.MailItem eMail = (Outlook.MailItem)
this.Application.CreateItem(Outlook.OlItemType.olMailItem);
eMail.Subject = subjectEmail;
eMail.To = toEmail;
eMail.Body = bodyEmail;
eMail.Importance = Outlook.OlImportance.olImportanceLow;
((Outlook._MailItem)eMail).Send();
}
#endregion发布于 2014-11-01 18:07:28
这一行代码正在寻找一个名为Application的类级别字段,我认为它并不存在:
Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderContacts);在方法中创建一个Application实例(就像您说的那样),然后从上面的代码中删除关键字this:
Outlook.Application Application = new Outlook.Application();
Outlook.MAPIFolder sentContacts = (Outlook.MAPIFolder)
Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderContacts);如果您需要在该方法之外访问Application,那么在类级别(在任何方法之外)创建Application,并在构造函数中实例化它(如果适合您的情况)。
https://stackoverflow.com/questions/26691309
复制相似问题