Add a Custom Task Pane to Project 2010 (Norm Estabrook)

Good news! Project 2010 supports custom task panes! Bad News! Getting one to appear in a Project 2010 is not so obvious. Good News! It’s a lot easier than I make it sound. In this post, I’ll show you how to add a custom task pane to Project 2010 by using a Project 2010 or Project 2007 project template in Visual Studio.

View original post here:
Add a Custom Task Pane to Project 2010 (Norm Estabrook)

Here is a Way to Get the ID of a Built-in Outlook Command Bar Menu (Norm Estabrook)

Recently, a forum poster asked us how he could add a submenu item to a built-in menu item in Outlook.  Note that these are not controls that appear on the Ribbon of an Outlook item, but rather the menus that drop down from the top of the Outlook Explorer such as the View menu and the Tools menu. So one way to do this (In fact the only way that I know of) is to use the example shown in the following MSDN topic – How to: Add Custom Menus and Menu Items to Outlook . You can’t just use the example as is

Here is the original post:
Here is a Way to Get the ID of a Built-in Outlook Command Bar Menu (Norm Estabrook)

Use VBA To Reset Task Due Dates in Outlook

There was an earlier version of this post. It had more words and as it went on and on about how I track damn near everything in Outlook. It’s true. Everything. If I don’t track something I want to do or have to do as an Outlook task, it won’t get done.

I deleted that post by accident as I thought I was deleting something else. As it turns out, the wrong Window had the focus when I hit the Delete button and I deleted this post. Dammit!

Anyways, I always fall way behind on the deadlines I set for my tasks. So each Monday morning, I set the deadlines to a week from the current day.

Here is the VBA code to achieve this.

Sub ResetTaskDeadlines()
    Dim ns As NameSpace
    Dim fld As Folder
    Dim task As TaskItem
    Dim items As Outlook.items
    Dim rest As Outlook.items
    Dim filterSQL As String
    
    Set ns = Application.GetNamespace("MAPI")
    Set fld = ns.GetDefaultFolder(olFolderTasks)
    Set items = fld.items
    filterSQL = "@SQL=" & """http://schemas.microsoft.com/mapi/id/"
    filterSQL = filterSQL & "{00062003-0000-0000-C000-000000000046}/"
    filterSQL = filterSQL & "81010003""" & " <> 2"
    Set rest = items.Restrict("[Status] <> 'Completed'")
    
    For Each task In rest
    ''UNCOMMENT THE OPTION YOU WANT TO USE
        ''task.DueDate = "1/1/4501" 'Set to NO Due Date
        ''task.DueDate = task.DueDate + 7 ' Set to 7 days from current due date
        task.DueDate = today() + 7 'Set to a week from today
        ''task.DueDate = FirstDayOfNextMonth ' Set to first day of next month
        'task.Save
    Next
    
    
End Sub

Function FirstDayOfNextMonth() As Date
   Dim d As Date
   d = Date
   FirstDayOfNextMonth = DateSerial(Year(d), Month(d) + 1, 1)
End Function

I pretty much use VSTO to build Outlook add-ins professionally. But for quick personally useful scripts like this, VBA still reins.