Как да преместите имейли в определена папка след присвояване на определена категория в Outlook?
Да предположим, че сте присвоили категория на получен имейл във вашия Outlook, след като присвоите категория, искате този имейл да се премести автоматично в определена имейл папка, наречена с името на категорията. Например, имейл, присвоен с категория „Лично“, ще бъде преместен в име на папка „Лично“ във вашия Outlook. Как да го постигнем? Методът в тази статия може да ви помогне да разрешите проблема с лекота.
Преместване на имейли в определена папка след присвояване на определена категория с VBA
Преместване на имейли в определена папка след присвояване на определена категория с VBA
Кодът VBA по-долу може да помогне за автоматично преместване на имейли в определена папка след присвояване на определена категория в Outlook. Моля, направете следното.
1. Натисни Друг + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. В Microsoft Visual Basic за приложения прозорец, щракнете два пъти, за да отворите ThisOutlookSession (код) прозорец. След това копирайте под VBA кода в прозореца. Вижте екранна снимка:
VBA код: Преместете имейли в определена папка след присвояване на определена категория
Private WithEvents xInboxFld As Outlook.Folder
Private WithEvents xInboxItems As Outlook.Items
Private Sub Application_Startup()
Set xInboxFld = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
Set xInboxItems = xInboxFld.Items
End Sub
Private Sub xInboxItems_ItemChange(ByVal Item As Object)
Dim xMailItem As Outlook.MailItem
Dim xFlds As Outlook.Folders
Dim xFld As Outlook.Folder
Dim xTargetFld As Outlook.Folder
Dim xFlag As Boolean
On Error Resume Next
If Item.Class = olMail Then
Set xMailItem = Item
xFlag = False
If xMailItem.Categories <> "" Then
Set xFlds = Application.Session.GetDefaultFolder(olFolderInbox).Folders
If xFlds.Count <> 0 Then
For Each xFld In xFlds
If xFld.Name = xMailItem.Categories Then
xFlag = True
End If
Next
End If
If xFlag = False Then
Application.Session.GetDefaultFolder(olFolderInbox).Folders.Add xMailItem.Categories, olFolderInbox
End If
Set xTargetFld = Application.Session.GetDefaultFolder(olFolderInbox).Folders(xMailItem.Categories)
xMailItem.Move xTargetFld
End If
End If
End Sub
3. Запазете кода и рестартирайте Outlook.
4. Отсега нататък, когато присвоявате категория на получаващ имейл, папка с името на категорията ще се създава автоматично под папката "Входящи" с преместения имейл. Вижте екранна снимка:
Забележка: Всички имейли, присвоени на една и съща категория, ще бъдат автоматично преместени в същата папка. Но ако на имейл е присвоена нова категория, автоматично ще бъде създадена нова папка.
Още по темата:
- Как да присвоя категория на изходящ имейл в Outlook?
- Как да запазите оригиналните категории, когато отговаряте или препращате имейл в Outlook?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!