Outlook VBA выдает ошибку времени выполнения «13»: несоответствие типов, но тип соответствует - PullRequest
0 голосов
/ 14 октября 2019

У меня есть файл VbaProject.OTM, который идет вместе со мной на ПК, который содержит мой собственный разработанный код. При текущей передаче между ПК одна из Sub s, которую я использую, часто перестала работать. Я новый ПК, он дает 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, такая же, как в ПК, который я оставляю.

1 Ответ

0 голосов
/ 14 октября 2019

Может быть, тип объекта, возвращаемого dumpConversationMsg, не является строкой?

...