Microsoft Outlook tips and tricks for improving user experience? [closed]

I use delayed sending of my mails. You just create a new rule that defers sending of mails by a specified number of minutes.


I have a zero Inbox rule. As I read email, I move it to another folder so anything in the Inbox is new and/or actionable. If it is actionable, I usually perform the action and file the email quickly to keep my Inbox empty as much as possible.


Here is my base macro. It moves selected messages in a message pane or current open message to the "Archive Personal Folders" PST file's "Inbox" folder. You'll have to change the PST file name and folder if yours are different. I create macro buttons on the main Outlook toolbar and on the Read Message Window toolbar. It is best if you sign your macros as well.

Sub MoveSelectedMessagesToArchiveInbox()
    On Error Resume Next
    Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder
    Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem

    Set objNS = Application.GetNamespace("MAPI")
    Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
    Set objFolder = objNS.Folders("Archive Personal Folders").Folders("Inbox")

    'Assume this is a mail folder
    If objFolder Is Nothing Then
        MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
    End If

    Select Case TypeName(Outlook.Application.ActiveWindow)
        Case "Explorer"
            If Application.ActiveExplorer.Selection.Count = 0 Then
                'Require that this procedure be called only when a message is selected
                Exit Sub
            End If

            For Each objItem In Application.ActiveExplorer.Selection
                If objFolder.DefaultItemType = olMailItem Then
                    If objItem.Class = olMail Then
                        objItem.Move objFolder
                    End If
                End If
            Next
        Case "Inspector"
            Set objItem = Outlook.Application.ActiveInspector.CurrentItem
                If objFolder.DefaultItemType = olMailItem Then
                    If objItem.Class = olMail Then
                        objItem.Move objFolder
                    End If
                End If
        Case Else
            ' Do Nothing
    End Select

    Set objItem = Nothing
    Set objFolder = Nothing
    Set objInbox = Nothing
    Set objNS = Nothing
End Sub