我有一个VbaProject.OTM
文件,可以在PC上随身携带,其中包含我自己开发的代码。在PC之间的当前传输中,我经常使用的Sub
之一停止工作。在新PC上,它显示为Run-time error ‘13’: Type mismatch
。产生错误的代码是
Sub ArchiveConversation()
Dim objsrc As Object
Set objsrc = email.GetCurrentItem()
Dim oOlConv As Outlook.Conversation
Set oOlConv = objsrc.GetConversation()
Debug.Print TypeName(oOlConv) ' <-- Prints "Conversation"
Call dumpConversation(oOlConv) ' <-- Error line
...
End Sub
Sub dumpConversation(oOlConv As Outlook.Conversation)
Debug.Print dumpConversationMsg(oOlConv)
End Sub
Public Function dumpConversationMsg(oOlConv As Outlook.Conversation) As String
Dim straux As String
straux = "Dumping conversation " & vbCrLf
dumpConversationMsg = straux
End Function
我叫Sub
,它需要一个Outlook.Conversation
参数。传递给子对象的参数oOlConv
是Conversation
。
问题和解决方案可能是什么?
注意:当前使用Win 10 + MS 16.0 + MS-VBA 7.1,与我要离开的PC相同。
也许dumpConversationMsg返回的对象类型不是字符串?