两个 VSTO 加载项可以处理同一个 outlook 应用程序事件吗(application.newmailex)
Can two VSTO Add-ins handle the same outlook application event (application.newmailex)
我正在为我工作的两个独立部门编写两个加载项。两者都会在收到电子邮件时处理不同类型的电子邮件,但它们都是相当大的加载项,我宁愿避免将两者合并.话虽这么说,有些人最终将不得不同时拥有两个加载项 运行。
是否可以同时安装两个加载项并且它们都有处理 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
是的,两个不同的加载项可以安装到同一个 Outlook 中。显然他们可能有相同的事件处理程序,这没有问题(你不需要合并任何东西)。您唯一无法控制的是这两个加载项的通知顺序。您的 "Add-in 1" 可能会获得第一名或第二名 Application_NewMailEx
,您的 "Add-in 2" 也是如此。编码时请记住它。
我正在为我工作的两个独立部门编写两个加载项。两者都会在收到电子邮件时处理不同类型的电子邮件,但它们都是相当大的加载项,我宁愿避免将两者合并.话虽这么说,有些人最终将不得不同时拥有两个加载项 运行。
是否可以同时安装两个加载项并且它们都有处理 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
是的,两个不同的加载项可以安装到同一个 Outlook 中。显然他们可能有相同的事件处理程序,这没有问题(你不需要合并任何东西)。您唯一无法控制的是这两个加载项的通知顺序。您的 "Add-in 1" 可能会获得第一名或第二名 Application_NewMailEx
,您的 "Add-in 2" 也是如此。编码时请记住它。