我正在尝试使用VB代码将Outlook电子邮件自动转发到另一个电子邮件地址,并且不断出现编译错误。
我在编译代码时遇到的错误是“过程声明与具有相同名称的事件或过程的描述不匹配”。
Sub Application_NewMail(myMailToFW As Outlook.MailItem)
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
我将email@email.com更改为我要转发的电子邮件。
答案 0 :(得分:0)
您的class module具有与事件名称冲突的过程名称。
procedure与事件具有相同的名称,但没有相同的签名(即parameters的数量和类型)。如果您执行某些操作(例如向事件过程中添加新参数),则可能会发生这种情况。
如果该过程不是与事件对应的事件过程,请更改其名称。如果该过程与事件相对应,则使参数列表与事件所需的参数列表一致(如果有)。
有关更多信息,您可以参考以下链接:
Procedure declaration does not match description of event or procedure having same name