Outlook编译错误-过程声明不匹配

时间:2018-10-08 18:27:23

标签: vba outlook

我正在尝试使用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更改为我要转发的电子邮件。

1 个答案:

答案 0 :(得分:0)

您的class module具有与事件名称冲突的过程名称。

procedure与事件具有相同的名称,但没有相同的签名(即parameters的数量和类型)。如果您执行某些操作(例如向事件过程中添加新参数),则可能会发生这种情况。

如果该过程不是与事件对应的事件过程,请更改其名称。如果该过程与事件相对应,则使参数列表与事件所需的参数列表一致(如果有)。

有关更多信息,您可以参考以下链接:

Procedure declaration does not match description of event or procedure having same name