【发布时间】:2021-09-24 21:10:36
【问题描述】:
我们在 Outlook 中添加了一些规则,可以根据某些条件将项目移动到某个文件夹。
示例:如果电子邮件发件人是 xyz@gmail.com 并且主题包含特定关键字,可以说“新闻”,然后将该电子邮件移至文件夹“NewsFolder”,如果电子邮件发件人是 prq@gmail.com,则将该电子邮件移至“InterestFolder” “ 文件夹。等等
我想在将项目添加到特定文件夹时执行一些操作,我在 app.config 中添加了用于检查文件夹名称的配置。我尝试使用 itemAdd 事件处理程序,但失败了。
下面是我的代码。
Outlook.NameSpace outlookNameSpace;
Outlook.MAPIFolder inbox;
Outlook.Items items;
Private void ThisAddIn_Startup(object sender, system.EventArgs e)
{
//configuration will come from app.config file
string configuration="news,NewsFolder|interest,InterestFolder"; //comma separated by keyword, folder name
string[] conf = configuration.split('|');
foreach(string singleConfiguartion in conf)
{
string[] config = singleConfiguraiton.Split(',');
string configFolderName= config[1].ToString(); //get folder name from configuration
Application.ActiveExplorer().CurrentFolder = inbox.Folders[configFolderName];
Outlook.MAPIFolder currentFolder = inbox.Folders[configFolderName];
items= currentFolder.Items;
items.ItemAdd+= new Outlook.ItemEvents_ItemAddEventHandler(ItemAddedEventHandler);
}
}
void ItemAddedEventHandler(Object item)
{
}
如果我只想为“收件箱”文件夹添加事件处理程序,这种方式是可行的。但我想为“NewsFolder”和“InterestFolder”添加事件处理程序。
【问题讨论】:
标签: c# outlook vsto outlook-addin