Hola, Ian.
Si, eso es posible. Puedes hacerlo con algo como esto
Sub RunRule () 'En la siguiente línea, edite el nombre de la regla que desea ejecutar Const RULE_NAME = "El nombre de su regla va aquí" 'En la línea siguiente, edite la ruta a la carpeta en la que desea ejecutar la regla Const TARGET_FOLDER = "La ruta de la carpeta de destino va aquí" 'En la siguiente línea, cambie el valor a Verdadero si desea que la regla procese todas las subcarpetas en la carpeta de destino Const INCLUDE_SUBFOLDERS = False 'En la línea siguiente, cambie el valor a Verdadero si desea ver un cuadro de diálogo que muestra el progreso de la regla a medida que se ejecuta Const SHOW_PROGRESS = Falso Const SCRIPT_NAME = "Ejecutar regla" Dim olkRul As Outlook.Rule, olkFol As Outlook.MAPIFolder Establecer olkFol = OpenOutlookFolder (TARGET_FOLDER) If TypeName (olkFol) = "Nothing" Entonces MsgBox "No se pudo encontrar una carpeta llamada" & TARGET_FOLDER, vbCritical + vbOKOnly, SCRIPT_NAME Más Establezca olkRul = Session.GetDefaultFolder (olFolderInbox) .Store.GetRules.Item (RULE_NAME) olkRul.Execute SHOW_PROGRESS, olkFol, INCLUDE_SUBFOLDERS Terminara si Establecer olkRul = Nada Establecer olkFol = Nada End Sub Función OpenOutlookFolder (strFolderPath como cadena) como Outlook.MAPIFolder 'Propósito: abre una carpeta de Outlook desde una ruta de carpeta'. 'Escrito: 24/04/2009' 'Autor: David Lee' 'Outlook: todas las versiones' Dim arrFolders como variante, _ varFolder como variante, _ bolBeyondRoot As Boolean En Error Reanudar Siguiente If strFolderPath = "" Entonces Establecer OpenOutlookFolder = Nada Más Do While VBA.Left (strFolderPath, 1) = "\" strFolderPath = VBA.Right (strFolderPath, VBA.Len (strFolderPath) - 1) Lazo arrFolders = Split (strFolderPath, "\") Para cada varFolder In arrFolders Seleccione el caso bolBeyondRoot Caso falso Establecer OpenOutlookFolder = Outlook.Session.Folders (varFolder) bolBeyondRoot = True Caso verdadero Establecer OpenOutlookFolder = OpenOutlookFolder.Folders (varFolder) Seleccionar final Si Err.Number 0 entonces Establecer OpenOutlookFolder = Nada Salir por Terminara si próximo Terminara si En error GoTo 0 Función final