¿Cómo mover correos electrónicos a una carpeta específica después de asignar cierta categoría en Outlook?
Supongamos que asignó una categoría a un correo electrónico recibido en su Outlook, después de asignar la categoría, desea que este correo electrónico se mueva automáticamente a una determinada carpeta de correo electrónico nombrada con el nombre de la categoría. Por ejemplo, un correo electrónico asignado con la categoría "Privado" se moverá a un nombre de carpeta "Privado" en su Outlook. ¿Cómo lograrlo? El método de este artículo puede ayudarlo a resolver el problema con facilidad.
Mueva los correos electrónicos a la carpeta especificada después de asignar cierta categoría con VBA
Mueva los correos electrónicos a la carpeta especificada después de asignar cierta categoría con VBA
El siguiente código de VBA puede ayudar a mover automáticamente los correos electrónicos a la carpeta especificada después de asignar cierta categoría en Outlook. Haz lo siguiente.
1. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En el Microsoft Visual Basic para aplicaciones ventana, haga doble clic para abrir la ThisOutlookSession (Código) ventana. Luego copie el código VBA a continuación en la ventana. Ver captura de pantalla:
Código de VBA: mueva los correos electrónicos a la carpeta especificada después de asignar cierta categoría
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. Guarde el código y reinicie Outlook.
4. De ahora en adelante, al asignar una categoría a un correo electrónico de recepción, se creará automáticamente una carpeta con el nombre de la categoría en la carpeta Bandeja de entrada donde se movió el correo electrónico. Vea la captura de pantalla:
Note: Todos los correos electrónicos asignados con la misma categoría se moverán a la misma carpeta automáticamente. Pero si se asigna una nueva categoría a un correo electrónico, se creará una nueva carpeta automáticamente.
Artículos relacionados:
- ¿Cómo asignar una categoría al correo electrónico saliente en Outlook?
- ¿Cómo mantener las categorías originales al responder o reenviar correos electrónicos en Outlook?
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!