Почему мой WithEvent не работает в Outlook vba? - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь создать скрипт, который автоматически изменяет новые входящие электронные письма в определенной папке и отправляет их другому человеку.Часть изменить / отправить работает довольно хорошо.Но проблема в том, что скрипт не работает, когда появляется новое письмо.Это происходит только тогда, когда я передаю его себе.

Вот начало кода:

 Private WithEvents Items As Outlook.Items
                Private Sub Application_Startup()
                Dim olApp As Outlook.Application
                Dim objNS As Outlook.NameSpace
                Set olApp = Outlook.Application
                Set objNS = olApp.GetNamespace("MAPI")
                ' default local Inbox
                Set Items = objNS.GetDefaultFolder(olFolderInbox).Folders("DI").Items
                End Sub
                Private Sub Items_ItemAdd(ByVal item As Object)

                 Dim Msg As Outlook.MailItem
                 If TypeName(item) = "MailItem" Then
                Set Msg = item

1 Ответ

0 голосов
/ 25 сентября 2018

Вы перезапустили свой Outlook?Пожалуйста, обратитесь к следующему коду:

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Dim olApp As Outlook.Application

  Set olApp = Outlook.Application
  Set Items = GetNS(olApp).GetDefaultFolder(olFolderInbox).Folders("Stuff").Items
End Sub

Private Sub Items_ItemAdd(ByVal item As Object)

  On Error GoTo ErrorHandler

  MsgBox "You moved an item into the 'Stuff' folder."

ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.Number & " - " & Err.Description
  Resume ProgramExit
End Sub

Function GetNS(ByRef app As Outlook.Application) As Outlook.NameSpace
  Set GetNS = app.GetNamespace("MAPI")
End Function

Вот ссылка: Электронная почта для перемещения событий VBA Outlook

...