Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The messages are successfully copied to the other folder, but show up as unread.

"Mark as read" does show up as a filter option in the action list when creating a rule that applies to incoming messages, but I don't see it when creating a rule applying to OUTGOING messages. How can I accomplish this?

Here's the full text of my existing rule description string:

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

Update:
@xxl3ww notes that there are VB scripts out there that can accomplish this. I'd prefer not having to pay for one of these, though. Any free alternatives that anyone is aware of?

share|improve this question
    
I don't think you can do this without resorting to VB scripting... Probably easier to mark read by hand. –  pelms Jul 24 '09 at 22:15
    
@pelms: A VB script would be fine. –  arathorn Jul 30 '09 at 15:43
1  
Most of the scripts you're looking for cost about $10. If you google Outlook 2007 custom action mark as read, you'll get tons of results. –  xxl3ww Jul 30 '09 at 18:19
    
I think I know what needs to be done, but could you please take a screenshot / copy the exact rule you are current using so I can copy your environment and test it here. –  William Hilsum Aug 31 '09 at 15:57
    
@Wil: I added the exact rule description string to the question. –  arathorn Aug 31 '09 at 16:08

3 Answers 3

up vote 3 down vote accepted
+150

You will need to enable Macros for the following code to work. Under Tools > Macros > Security change to 'Warnings for all macros' or 'No security checks'

Click Tools > Macros > Visual Basic Editor

Copy & Paste the following:

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

That's it! (Along with your existing message rule)

share|improve this answer
    
Works perfectly. Thanks! –  arathorn Sep 1 '09 at 17:35

You'll need to tweak this to match your folder / mailbox names, but this will set newly added items (i.e. emails moved by your rule) as read:


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
share|improve this answer

Build your rule with the rules wizard (tools --> rules and alerts) the third screen allows you to mark a message as read. You may need to scroll down a bit to find the right checkbox.

Although this isn't technically an "outgoing" rule, it will work if run manually. I don't think there is a way built in to office to perform the check automatically.

share|improve this answer
    
Nope, the "mark as read" action is not listed as an available action for outgoing rules. Try it and see. –  arathorn Aug 31 '09 at 15:35
    
Editing my response now to include screen shot –  NickSentowski Aug 31 '09 at 15:46
    
That's the whole point of my question, though: how to do this in Outlook automatically. –  arathorn Aug 31 '09 at 16:07
    
I'm sure it can be done in code, but I'm unfamiliar with the specifics of the Outlook Object Model... I'll see if I can whip up a script for you, but I'll need you to give me a few days. My approach will be to mark anything that enters the target folder as read when it is dropped in. I think that would be the easiest way. –  NickSentowski Aug 31 '09 at 16:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.