Многие пользователи хотят переместить определенные электронные письма из папки «Входящие» в другие определенные папки после их прочтения, что сохранит почтовую папку «Входящие» в чистоте. Но всегда перемещаться вручную будет обременительно. В этой статье будет представлен быстрый способ реализовать это автоматически.
Как обычно, каждое входящее электронное письмо попадает в папку «Входящие» в Outlook. Таким образом, в этом случае папка «Входящие» со временем будет загромождена и забита. Чаще всего вы можете либо вручную перемещать определенные электронные письма в другие почтовые папки, либо создать правило Outlook для автоматического перемещения определенных электронных писем, как только они поступают в ваш почтовый ящик. Применение такого правила намного удобнее, но для доступа к новым письмам вам придется заходить в определенные папки. Перед лицом этой проблемы вы можете надеяться, что Outlook сможет автоматически перемещать определенные электронные письма из папки «Входящие» в другие почтовые папки после того, как вы завершите их чтение в папке «Входящие», а не после их прибытия. Но правило Outlook не может этого реализовать. К счастью, вы можете использовать Outlook VBA, чтобы это стало реальностью. Вот коды, а также подробные шаги.
Автоматическое перемещение определенных писем в определенные папки после их прочтения
- В самом начале запустите Outlook и перейдите на вкладку «Разработчик».
- Затем на этой вкладке нажмите кнопку «Visual Basic», чтобы открыть окно редактора VBA.
- Далее в новом окне вы должны найти проект «ThisOutlookSession» и дважды щелкнуть его, чтобы открыть.
- Затем скопируйте и вставьте в него следующие коды VBA.
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim deFolder As Folder
'Ensure the email marked as read
If TypeOf Item Is MailItem And Item.UnRead = False Then
'Check the email subject and then move to specific folder
'You can change these conditions and folders as per your needs
If InStr(LCase(Item.Subject), "test") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Test")
Item.Move deFolder
End If
If InStr(LCase(Item.Subject), "worklog") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("WorkLog")
Item.Move deFolder
End If
If InStr(LCase(Item.Subject), "report") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Report")
Item.Move deFolder
End If
End Sub
- После этого вы должны подписать этот код цифровой подписью.
- Сначала используйте встроенный инструмент «Цифровые сертификаты для проектов VBA», чтобы создать новый сертификат.
- Затем назначьте этот сертификат текущему макросу. Выполните шаги, показанные на изображении ниже:
- Позже вы должны изменить настройки макроса, чтобы включить только макросы с цифровой подписью.
- Наконец, вы должны restar• Outlook, чтобы активировать этот проект VBA. С этого момента все входящие электронные письма по-прежнему будут попадать в папку «Входящие». Но как только новое письмо будет прочитано, оно будет автоматически перемещено в определенные папки.
Умные приемы для решения проблем с Outlook
Из-за того, что Outlook подвержен ошибкам, многие пользователи жаждут умных советов для решения частых проблем. В норме мost общие методы включают создание нового почтового профиля, отключение сторонних надстроек, восстановление пакета Office и использование инструмента восстановления папки «Входящие» Scanpst.exe. Если встроенный инструмент не сработал, можно прибегнуть к другому, более мощному поврежденная утилита восстановления Outlook, Как DataNumen Outlook Repair.
Об авторе:
Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить поврежденную базу данных SQL и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

