У меня есть файл 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, такая же, как в ПК, который я оставляю.