Estoy intentando crear una macro para ejecutar una regla en mi carpeta de elementos enviados. Pero siga corriendo con los asteriscos "Variable de objeto o Con variable de bloque no establecida" Soy un novato en esto, por lo que cualquier ayuda es apreciada.
Aquí hay otro intento fallido
Private Sub Application_Startup () runRulesOnSentMailFolder End Sub
Sub runRulesOnSentMailFolder () Dim st Como Outlook.Store Dim myRules Como Outlook.Rules Dim rl Como Outlook.Rule Dim count Como Entero Dim ruleList Como String Dim rulePrefix Como String Dim ruleFolder As Long
'
Dim outlookApp As Outlook.Application
Dim objNS As NameSpace
ruleFolder = olFolderSentMail
rulePrefix = "SENT_Mail_"
Set objNS = Application.GetNamespace("MAPI")
Set objSentmailfolder = objNS.GetDefaultFolder(ruleFolder)
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules
'iterar todas las reglas para cada rl en myRules' determina si es una regla de la bandeja de entrada y el prefijo del nombre de la regla coincide si rl.RuleType = olRuleReceive And Left (rl.Name, Len (rulePrefix)) = rulePrefix Then
' if so, run it
rl.Execute ShowProgress:=True, Folder:=objSentmailfolder
count = count + 1
ruleList = ruleList & vbCrLf & rl.Name
End If
****Next****
' tell the user what you did
ruleList = "These rules were executed against the folder: " & objSentmailfolder.Name & vbCrLf & ruleList
MsgBox ruleList, vbInformation, "Macro: runRulesOnSentMailFolder"
Set rl = Nothing
Set st = Nothing
Set myRules = Nothing
Set objSentmailfolder = Nothing
Set objNS = Nothing
Sub final
fuente
rl
repita mágicamente sobre myRules? El comentario 'iterar todas las reglas no hará que se repita.