Outlook VBA给出运行时错误'13':类型不匹配,但类型匹配

问题描述 投票:0回答:1

我有一个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参数。传递给子对象的参数oOlConvConversation

问题和解决方案可能是什么?

注意:当前使用Win 10 + MS 16.0 + MS-VBA 7.1,与我要离开的PC相同。

vba outlook parameter-passing outlook-vba type-mismatch
1个回答
0
投票

也许dumpConversationMsg返回的对象类型不是字符串?

© www.soinside.com 2019 - 2024. All rights reserved.