Project Client Programming

Applies to: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

The Microsoft Project 2010 desktop client applications—Project Standard 2010 and Project Professional 2010—can be customized and extended by using Visual Basic for Applications (VBA) to write macros. You can use Microsoft Office development tools in Microsoft Visual Studio 2010 to customize the ribbon and create more complex add-ins.

Moving to Visual Studio   VBA is useful for recording macros and developing relatively simple automation solutions. For add-ins and more complex, secure, scalable, and easily deployed solutions, we recommend that you use Visual Studio 2010. The Professional and Ultimate versions of Visual Studio 2010 include Microsoft Office development tools and Tools for SharePoint. The Microsoft .NET Framework 3.5 and the Project 2010 primary interop assembly provide many advantages for developing and deploying solutions that automate the Project 2010 desktop clients.

The MSProject object model for VBA in Project 2010 is essentially the same as the Microsoft.Office.Interop.MSProject object model for managed code solutions. Visual Studio 2010 includes templates for developing application-level add-ins for Office Project 2007 and for Project 2010 (either the Project Standard or Project Professional versions). Office development tools in Visual Studio 2010 and Tools for SharePoint simplify developing, testing, and deploying advanced integration solutions that can use the Project desktop client and other Microsoft Office applications, and integrate with SharePoint sites, lists, and workflows.

In This Section

VBA Object Model Changes   VBA supports new features in Project 2010.

How to: Use VBA to Add a Custom Command to the Ribbon   Learn how to add a custom tab and a command that calls a macro to the Project ribbon.

How to: Use Managed Code to Add a Custom Command to the Ribbon   The ManualTaskColor add-in does the same job that the VBA macro does in the previous article. The article provides an introduction to using Office development tools in Visual Studio 2010.

Walkthrough: Building a Managed Code Add-in to Check PWA Compatibility   Some project and task properties that are usable in Project Professional 2010 make the project uneditable in Project Web App. The add-in uses a ProjectBeforeSave2 event to check the project for those properties before saving.


  • Tables of VBA Object Model Changes
    Tables of types and the new or changed objects, properties, methods, events, and enumerations that help you develop or adapt automation solutions by using the Project 2010 object model.
  • Project Server 2010 Architecture
    Includes an overview of Project Web App servers, the Project Server Interface (PSI), Project Server business objects, and the data access layer (DAL).

  • PSI Reference Overview
    Describes the namespaces in the PSI Web services and the related Project Server assemblies.

See Also

Other Resources

Office Developer Center

Project Developer Center

Learn Office Development

Visual Studio Developer Center

Office Development in Visual Studio

Available fields