我正在尝试使用VBA代码将Outlook电子邮件自动转发到另一个电子邮件地址。
如果计算机锁定时宏运行了一段时间,我会报错。
一旦发生错误,宏就会停止并且在重新启动宏之前,我不会再转发电子邮件。我将宏添加到快速访问工具栏。我只是关闭错误,然后按宏按钮。
否则宏可以正常工作。
这是我的代码(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)