Ошибка означает, что переменная Item
, которую вы вводите здесь GetTemp Item
, не совпадает с типом, объявленным здесь GetTemp(ByVal Item As TaskItem)
.
Попробуйте Private Sub GetTemp(ByVal Item As Outlook.TaskItem)
.
Также я не понимаю не понимаю, почему у вас Item
в качестве параметра вашей GetTemp
процедуры, потому что она никогда не используется в GetTemp
. Так что Private Sub GetTemp()
, а затем вызов GetTemp
без Item
тоже должен работать.
Но главная проблема в том, что если это утверждение
If TypeOf Item Is Outlook.TaskItem Then
не True
затем он перейдет к End If
и продолжит выполнение GetTemp Item
. Таким образом, вам нужно поставить это перед End If
, чтобы он работал только GetTemp
, если Item
на самом деле TaskItem
. В противном случае он будет работать с любыми другими предметами, которые не TaskItem
тоже.
Private Sub Application_Reminder(ByVal Item As Object)
If TypeOf Item Is Outlook.TaskItem Then
If Not Item.Subject = "US SANCTION REPORT RUN" Then
Exit Sub
End If
GetTemp Item ' call sub
End If
End Sub