2

Я наткнулся на сообщение о суперпользователе, в котором был задан вопрос о пересылке почты в Outlook. Один пользователь предоставил скрипт для использования.

Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem

Set myFwd = Item.Forward

myFwd.Recipients.Add "email@email.com"
myFwd.Send
Set myFwd = Nothing 
End Sub

Это сработало хорошо для меня, но как это будет работать, если я хочу просто автоматически пересылать электронную почту только в определенную папку? В папке уже есть электронная почта, автоматически направленная на нее после получения. Есть идеи?

1 ответ1

0

Предполагая, что вы перенаправляете письмо в папку, используя правило, вы можете запустить этот скрипт в том же правиле, поэтому он будет применяться только в тех же условиях.

В противном случае макрос можно изменить, чтобы найти непрочитанные сообщения в текущей папке и переслать их. Затем вы просто вручную запускаете макрос (дайте ему ярлык, чтобы упростить его) периодически, находясь в этой папке, и он сделает все за вас.

Sub ForwardUnreadInFolder()
  Dim CurItem As Outlook.MailItem
  Dim myFwd As Outlook.MailItem
  Dim strMsg As String

  Set CurFolder = Application.ActiveExplorer.CurrentFolder
  Set AllItems = CurFolder.Items
  NumItems = CurFolder.Items.Count

  For i = 1 To NumItems

    DoEvents

    Set CurItem = AllItems.Item(i)

    If (CurItem.UnRead) Then

        Set myFwd = CurItem.Forward
        myFwd.Recipients.Add "email@example.com"
        myFwd.Send
        Set myFwd = Nothing

    End If

  Next

   MsgBox "Done"
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .