Executa rapidamente as regras do Outlook sob demanda?

0

Eu tenho uma regra configurada no MS Outlook 2007 que eu não quero executar automaticamente, mas eu quero rodar esporadicamente à mão. Eu gostaria de agilizar o processo "à mão" tanto quanto possível. Existe uma maneira de fazer isso para que eu possa ter, digamos, um botão na barra de ferramentas que execute a regra?

Basicamente, há certos tipos de mensagem (gerados automaticamente por outro servidor) que desejo ver na minha caixa de entrada quando eles chegam, mas não me importo quando os vejo. Alguns deles são tão triviais que, depois de ver o título, quero que eles sejam liberados para um arquivo. Toda vez que eu sinto que minha caixa de entrada está muito confusa, vou até o menu Ferramentas, Regras e Alertas, Role Regras Agora, encontre a regra que quero, clique na caixa de seleção, clique no botão Executar e clique em Ok duas vezes quando tudo estiver feito. Eu adoraria ferver esse processo em um único clique de botão.

    
por amacleod 01.03.2011 / 17:20

2 respostas

4

Você pode:

  1. Adicione o item de menu Executar Regras Agora ... ao seu menu (Via Ferramentas | Personalizar); ou
  2. Você poderia escrever um pouco de VBA para executar uma regra específica (veja aqui: link )
por 01.03.2011 / 20:38
3

Eu queria fazer a mesma coisa, mais ou menos. Há e-mails que eu arquive por meio de regras assim que eles acessam minha caixa de entrada - nem mesmo os vejo. Depois, há outras que preciso ver e ler, mas, depois disso, também posso ter uma regra para arquivá-las rapidamente. É aqui que o sistema de regras do Outlook parece falhar. Isso acontece apenas em novos itens, principalmente para que o servidor do Exchange possa fazer isso sozinho. Então eu gasto muito tempo arrastando mensagens lidas para a pasta correta - e eu tenho várias centenas delas.

Veja como eu o implementei, em etapas básicas:

  1. Criado uma categoria chamada "Arquivo automático".
  2. Escreveu regras que verificaram a categoria "Arquivo automático" como parte dos critérios. Salvei-os com Fileit: no nome para me mostrar que eram regras baseadas em categoria (ou seja, ação atrasada, diferente de minhas outras regras).
  3. Escreveu uma macro (abaixo) que define os itens de correio selecionados para essa categoria, marca-os como lidos e executa as regras com nomes de regras que começam com Fileit .
  4. Adicionou um botão à minha barra de ferramentas principal para executar essa macro.

Então, agora, para arquivar coisas na minha caixa de entrada que eu li, eu a seleciono e clico no botão e tudo desaparece por mágica, com base nas minhas regras Fileit . Eu não uso a categoria de outra forma, então isso funciona para mim. Observe também que a configuração da categoria permanece (o que pode ser considerado um sinal positivo). Se você já usa muito as categorias, isso não funcionaria tão bem. Lembre-se de que isso transforma a regra em uma regra "Somente cliente" (a categoria faz isso), o que basicamente significa que o Exchange não pode executá-la para você - o que é bom, mas avisará sobre isso quando você salvar o regra. O código não é nada chique e você pode quase certamente fazê-lo em poucos minutos, mas eu o dou aqui para copiar / colar, se quiser.

Sub myFileItMacro()
    ' 2015-06-24 SWB First attempt to automate Outlook filing
    ' Note that Outlook 2013 does not have a macro recorder, which doesn't help.
    Dim myItem As Outlook.MailItem
    Dim intItemCount As Integer
    Dim myRules As Outlook.Rules
    Dim myRule As Outlook.Rule
    Dim intLoop As Integer

    ' Used to set category of more than one item ...
    intItemCount = Application.ActiveExplorer.Selection.Count
    If intItemCount > 0 Then        ' ... and to check at least one is selected

        ' Next, assign it to the category.  This should be set up beforehand.
        For intLoop = 1 To intItemCount
            ' This could throw an error if there is nothing selected, presumably.
            Set myItem = Application.ActiveExplorer.Selection.Item(intLoop)

            myItem.Categories = "Auto-file"
            myItem.UnRead = False           ' Flag as read
            ' You should be able to see this in the category column once this line runs.
            myItem.Save
        Next

        ' Lastly, run the rules on the inbox, although, it would be even better
        ' to run rules just on this item.  Hmmm
        ' You have to do this by going through the rules.
        Set myRules = Application.Session.DefaultStore.GetRules
        For Each myRule In myRules
            ' Execute only rules named starting with "Fileit".
            ' These have the category filter.
            If Left(myRule.Name, 6) = "Fileit" Then
                myRule.Execute (False)
            End If
        Next

    End If

End Sub

Anexado da segunda resposta.

Esqueci de mencionar que no Outlook 2010 e 2013 (ou 365, se quiser) existem "Etapas Rápidas". Este tipo de permite que você configure um botão de arquivo automático. O problema que tenho com eles é que você precisa configurar um por regra. Se eu tenho 50 coisas que eu quero arquivar para 50 pastas, eu preciso de 50 passos rápidos e isso meio que anula o propósito, já que você vai gastar o mesmo tempo encontrando o passo rápido correto arrastando os emails para a pasta (sub) certa. Eu posso estar errado aqui, e se eu estiver, por favor, me corrija, mas esse é o meu entendimento.

A vantagem do código acima é que você pode ter UM botão na sua faixa de opções que você pressiona para aplicar várias regras diferentes, mesmo que vários itens sejam selecionados, a regra certa será aplicada a cada um. A única desvantagem que encontrei é que, se eu não tiver estabelecido uma regra (é difícil lembrar de todas elas depois de um tempo, eu tenho um PC em casa e no trabalho, etc.), ela apenas definirá a categoria e o email não será movido. Não é grande coisa. Ah, e você tem que permitir macros para executar porque claramente eles são maus.

Eu sei que o pôster original estava de volta em 2011, eles provavelmente se esqueceram totalmente sobre isso, mas a questão na verdade ainda é válida e em grande parte sem resposta na internet, então eu pensei em contribuir! É uma área onde eu acho que a usabilidade do Outlook é realmente falta, e tudo se resume à primeira parte das regras, que são "Aplicar esta regra após a chegada da mensagem". Se você pudesse mudar isso para "Aplicar esta regra quando eu pressionar um botão" ou similar, você não precisaria do meu código. Pelo menos você pode definir uma regra para ser baseada em uma categoria, e é por isso que o código acima funciona.

    
por 24.06.2015 / 05:47