Como posso automatizar uma regra que é executada para 'executar todas as regras' na caixa de entrada, após um movimento imap

0

Como posso criar uma regra que execute todas as regras da caixa de entrada automaticamente de preferência, ou pelo menos manualmente, depois que várias novas mensagens de outra conta foram enviadas para ela? Vou até fazer um lote no agendador de tarefas se for preciso. Estou desesperado, então estou disposto a dar alguns passos.

Então, mais especificamente, eu tenho algumas regras que levam uma conta IMAP do Gmail para o Outlook, e on this computer only move it to the folder que vai para uma caixa de entrada do PST que é minha caixa de entrada mestra. Essa é a única regra para essa conta IMAP. Agora eu preciso de todas as regras estendidas, que normalmente são feitas para as mensagens POP recebidas na caixa de entrada normalmente, para processá-las.

Então, como posso acionar todas as regras para processar esses novos movimentos IMAP depois que essa mudança é feita? As regras não estão detectando o movimento, já que não são novas mensagens recebidas (o encaminhamento está fora de questão, o que estragou todas as regras como elas são)

Acho que o caminho menos saltitante é ter o jeito que eu faço para o IMAP, que está em configurações para 'não fazer uma cópia no servidor' e 'limpar' depois, então a única regra da conta IMAP vem em play here on this computer only ... mova para a caixa de entrada principal, conforme mencionado acima. O problema vem depois disso , eles ficam na caixa de entrada principal, não processados.

Agora eu quero que eles processem automaticamente (como se eu tivesse entrado manualmente nas regras do outlook, executado todas as regras, selecione todas, executadas somente na caixa de entrada)

    
por Brian Thomas 18.01.2017 / 23:12

2 respostas

0

Encontrei uma boa combinação de teclas de atalho que funciona e executa "todas as regras da caixa de entrada"

Procedimento

Depois de selecionar a caixa de entrada ou a caixa na qual você deseja executar a regra,

1) Mantenha pressionada a tecla alt

2) Emita a seguinte sequência, tendo o cuidado de pausar após a parte em execução (o o) até terminar h r r l obtém as regras abertas, então r e o para executá-las e, quando executar as regras, ainda mantendo o alt c then f4 para fechar as regras.

Eu sei que isso pode ser roteirizado, alguém tem bons exemplos?

Combo de teclas de atalho

Termina sendo assim (mantendo pressionada a tecla alt o tempo todo)

alt + hrrl reo c f4

    
por 01.03.2017 / 21:41
1

Esta macro VBA deve fazer o trabalho:

Sub RunAllInboxRules()
    Dim st As Outlook.Store
    Dim myRules As Outlook.Rules
    Dim rl As Outlook.Rule
    Dim count As Integer
    Dim ruleList As String
    'On Error Resume Next

    ' get default store (where rules live)
    Set st = Application.Session.DefaultStore
    ' get rules
    Set myRules = st.GetRules

    ' iterate all the rules
    For Each rl In myRules
        ' determine if it's an Inbox rule
              If rl.RuleType = olRuleReceive And rl.IsLocalRule = True Then
            ' if so, run it
            rl.Execute ShowProgress:=True
            count = count + 1
            ruleList = ruleList & vbCrLf & rl.Name
        End If
    Next

    ' tell the user what you did
    ruleList = "These rules were executed against the Inbox: " & vbCrLf & ruleList
    MsgBox ruleList, vbInformation, "Macro: RunAllInboxRules"

    Set rl = Nothing
    Set st = Nothing
    Set myRules = Nothing
End Sub

Uma macro pode ser adicionada como um botão, conforme descrito abaixo.

Referências:

por 08.02.2017 / 09:45