我正在尝试确保 Outlook 2013 的旧 VB6 COM 插件的兼容性。自 2002 年以来的每个版本都运行良好(或多或少),但在测试 2013 时,我在尝试初始化时遇到了一个奇怪的错误。
一旦我尝试对 Outlook 应用程序对象执行任何操作,我就会出现“09 - 下标超出范围”错误。甚至像将我带入课堂的 olApp 参数作为私有变量爆炸这样良性的事情。Application 对象不为空,它具有丰富的属性并且看似已初始化。
Friend Sub InitHandler(olApp As Outlook.Application, strProgID As String)
On Error GoTo ErrorExit
'If Outlook is opened without main UI (i.e. 'mailto:' HTML link)
If Explorers.Count = 0 Then Exit Sub
' BLOWS UP SO TRIED COMMENTING IT OUT AND ACCESSING PARAMETER DIRECTLY
'Set objOutlook = olApp
' ALSO BLOWS UP
Set objNameSpace = olApp.GetNamespace("MAPI")
...
对象模型是否有任何重大的架构变化?有任何想法吗?