Я пытаюсь автоматически переслать свою электронную почту Outlook на другой адрес электронной почты, используя код VBA.
Я получаю сообщение об ошибке, если макрос выполняется некоторое время, когда мой компьютер заблокирован.
Как только происходит ошибка, макрос останавливается, и я больше не пересылаю почту, пока не перезапущу макрос. Я добавил макрос на панель быстрого доступа. Я просто закрываю ошибку и нажимаю кнопку макроса.
В противном случае макрос работает нормально.
Вот мой код (email@email.com - это электронное письмо, которое я пересылаю)
Sub Application_NewMail()
Set myNamespace = Application.GetNamespace("MAPI")
Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
Set myemails = myInbox.Items
Set mynewemails = myemails.Restrict("[unread]=true")
Dim x As Integer
For x = 1 To myemails.Count Step 1
If myemails(x).UnRead(True) Then
Dim myMailToFW As Outlook.MailItem
Set myMailToFW = myemails(x)
Set myMailToFW = myMailToFW.forward
myMailToFW.Recipients.Add ("email@email.com")
myMailToFW.Send
myemails(x).UnRead = False
End If
Next
End Sub
Редактировать: макрос работает нормально. Но после нескольких дней работы я получаю сообщение об ошибке. Это ошибка ...
Ошибка времени выполнения '13':
Несоответствие типов
Если я нажму отладку, я направлю меня к этой строке в скрипте ...
Установить myMailToFW = myemails (x)