Eu tenho uma regra do Outlook 2007 que copia certas mensagens de saída para outra pasta - como marcar automaticamente essas mensagens como "lidas"?

7

As mensagens são copiadas com sucesso para a outra pasta, mas aparecem como não lidas.

"Marcar como lida" aparece como uma opção de filtro na lista de ações ao criar uma regra que se aplica a mensagens recebidas, mas não vejo isso ao criar uma regra aplicável a OUTGOING mensagens. Como posso conseguir isso?

Aqui está o texto completo da minha string de descrição de regra existente:

Apply this rule after I send the message
on this machine only
move a copy to the Archive folder

Atualização:
@ xxl3ww observa que existem scripts VB por aí que podem fazer isso. Eu prefiro não ter que pagar por um desses, no entanto. Quaisquer alternativas gratuitas de que qualquer um esteja ciente?

    
por arathorn 24.07.2009 / 23:21

3 respostas

4

Você precisará ativar as macros para que o código a seguir funcione. Em Ferramentas > Macros > Alteração de segurança para "Avisos para todas as macros" ou "Nenhuma verificação de segurança"

Clique em Ferramentas > Macros > Editor do Visual Basic

Copiar & Cole o seguinte:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Item.UnRead = False
End Sub

É isso! (Junto com sua regra de mensagem existente)

    
por 01.09.2009 / 18:38
0

Você precisará ajustar isso para corresponder aos nomes de sua pasta / caixa de correio, mas isso definirá os itens recém-adicionados (por exemplo, e-mails movidos por sua regra) como lidos:

Option Explicit
'##############################################
'### all code for the ThisOutlookSession module
'### Module level Declarations
'expose the items in the target folder to events
Dim WithEvents TargetFolderItems As Items

'###############################################
Private Sub Application_Startup()
'some startup code to set our "event-sensitive"
'items collection

Dim myMailbox As String, myFolder As String

'You need to set these
myMailbox = "Mailbox - My Name"
myFolder = "Archive Folder Name"

Dim ns As Outlook.NameSpace

Set ns = Application.GetNamespace("MAPI")
Set TargetFolderItems = ns.Folders(myMailbox).Folders(myFolder).Items

End Sub

'#################################################
'### this is the ItemAdd event code
Sub TargetFolderItems_ItemAdd(ByVal Item As Object)
'when a new item is added to our "Testing Folder"
'we can process it
Dim myEmail As MailItem
Set myEmail = Item
myEmail.UnRead = False
End Sub

'#################################################
Private Sub Application_Quit()

Dim ns As Outlook.NameSpace
Set TargetFolderItems = Nothing
Set ns = Nothing

End Sub
    
por 01.09.2009 / 19:02
0

Construa sua regra com o assistente de regras (ferramentas - > regras e alertas) a terceira tela permite marcar uma mensagem como lida. Talvez seja necessário rolar um pouco para encontrar a caixa de seleção correta.

Embora isso não seja tecnicamente uma regra "de saída", funcionará se for executada manualmente. Eu não acho que haja uma maneira embutida no escritório para executar a verificação automaticamente.

    
por 31.08.2009 / 17:31