我正在为我工作的两个部门编写两个加载项。当它们到达时,它们都将处理不同类型的电子邮件,尽管它们都是相当大的加载项,但我宁愿避免将两者合并。话虽如此,有些人最终将不得不同时运行两个加载项。
是否可以同时安装两个外接程序,并且它们两个都具有处理application.newmailex的子程序?
我可以吃吗
插件1:
Private Sub Application_NewMailEx(EntryIDCollection As String) Handles Application.NewMailEx
For Each itemID In Split(EntryIDCollection, ",")
Dim item = Application.Session.GetItemFromID(itemID)
If TypeName(item) = "MailItem" Then
if item.subject.contains("team1:") then
'do stuff
end if
end if
next
end sub
加载项2:
Private Sub Application_NewMailEx(EntryIDCollection As String) Handles Application.NewMailEx
For Each itemID In Split(EntryIDCollection, ",")
Dim item = Application.Session.GetItemFromID(itemID)
If TypeName(item) = "MailItem" Then
if item.subject.contains("team2:") then
'do stuff
end if
end if
next
end sub
还是我必须维护一个大插件:
Private Sub Application_NewMailEx(EntryIDCollection As String) Handles Application.NewMailEx
For Each itemID In Split(EntryIDCollection, ",")
Dim item = Application.Session.GetItemFromID(itemID)
If TypeName(item) = "MailItem" Then
if item.subject.contains("team1:") then
'do stuff
else if item.subject.contains("team2:") then
'do other stuff
end if
end if
next
end sub
答案 0 :(得分:2)
是的,可以将两个不同的加载项安装到同一Outlook中。显然,它们可能具有相同的事件处理程序,这没有问题(您无需合并任何内容)。您唯一无法控制的是这两个外接程序的通知顺序。您的“外接程序1”可能会第一个或第二个获得Application_NewMailEx
,而您的“外接程序2”的结果则相同。编码时请记住这一点。