Как я могу исправить ошибку, которая происходит, когда компьютер заблокирован? - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь автоматически переслать свою электронную почту 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...