26

Microsoft Office Project Desktop Development Marcel Parent Program Manager Project Microsoft Corporation

Embed Size (px)

Citation preview

Microsoft Office Project Microsoft Office Project Desktop DevelopmentDesktop Development

Marcel ParentMarcel ParentProgram ManagerProgram ManagerProjectProjectMicrosoft CorporationMicrosoft Corporation

What You Will LearnWhat You Will Learn

The 4 primary desktop development optionsThe 4 primary desktop development optionsVBA MacrosVBA Macros

COM Add-Ins (Unmanaged & Managed)COM Add-Ins (Unmanaged & Managed)

Custom Project GuidesCustom Project Guides

Custom Web ViewsCustom Web Views

HOW, WHEN & WHERE to use each optionHOW, WHEN & WHERE to use each option1)1) Extend Project with Extend Project with VBA macros & COM Add-InsVBA macros & COM Add-Ins to handle to handle

custom scenarios/business logic & automate repetitive custom scenarios/business logic & automate repetitive processesprocesses

2)2) Encapsulate & enforce a Encapsulate & enforce a business process/workflowbusiness process/workflow in in Project through a Project through a custom Project Guidecustom Project Guide

3)3) Integrate Integrate Web-UIWeb-UI into Project through into Project through custom Web Viewscustom Web Views

RoadmapRoadmap

The Project Object ModelThe Project Object Model

Option 1: Writing VBA MacrosOption 1: Writing VBA Macros

Option 2: Creating COM Add-InsOption 2: Creating COM Add-Ins

Option 3: Customizing the Project GuideOption 3: Customizing the Project Guide

Option 4: Creating custom Web ViewsOption 4: Creating custom Web Views

NOT Covered In This SessionNOT Covered In This Session

Project Server Development Project Server Development Refer to the Project Data Service (PDS), Refer to the Project Data Service (PDS), Web Parts & Reporting sessions for this Web Parts & Reporting sessions for this infoinfo

The Project Object ModelThe Project Object ModelThe BasicsThe Basics

CollectionsCollectionsObjectsObjects

MethodsMethods

PropertiesProperties

EventsEvents

The Project Object The Project Object ModelModel

VBA MacrosVBA MacrosThe BasicsThe Basics

What is a VBA Macro?What is a VBA Macro?VBAVBA = V = Visual isual BBasic for asic for AApplicationspplications

Macro = a user-defined command that is part of Macro = a user-defined command that is part of an application (like Project) & executes a series an application (like Project) & executes a series of commandsof commands

Writing your own macroWriting your own macro

Macro deployment options Macro deployment options

Macro securityMacro securityDigital signaturesDigital signatures

Policy settingsPolicy settings

VBA MacrosVBA MacrosOOB Macros in Project 2003OOB Macros in Project 2003Name DescriptionDescription

1 Format_Duration Reformats the duration of all tasks in the project, expressed in either minutes, hours, days, or weeks. Also sets the default duration unit that applies to all summary tasks and new tasks.

2 ResMgmt_TaskEntry Applies the Task Entry view with the schedule fields displayed in the bottom pane’s Task Form.

3 Rollup_Formatting Formats rolled up tasks so that the task names alternate above and below the rolled up tasks.

4 Toggle_Read_Only Toggles a file between Read-Only and Read-Write.

5 Update_File Updates a Read-Only file to the most recently saved version.

Developing a Project Developing a Project VBA MacroVBA Macro

COM Add-InsCOM Add-InsThe BasicsThe Basics

What is a COM Add-In?What is a COM Add-In?COM = COM = CComponent omponent OObject bject MModelodelAdd-In = extension to an application (like Project)Add-In = extension to an application (like Project)COM Add-In = an extension to an application that uses COM Add-In = an extension to an application that uses COM to automate one or more applications (via object COM to automate one or more applications (via object model calls)model calls)

Writing your own COM add-inWriting your own COM add-inUse the Project Primary Interop Assembly (PIA) in a Use the Project Primary Interop Assembly (PIA) in a managed add-inmanaged add-in

Add-in deployment optionsAdd-in deployment optionsAdd-in securityAdd-in security

Digital signaturesDigital signatures

COM Add-InsCOM Add-InsOOB COM Add-Ins in Project 2003OOB COM Add-Ins in Project 2003Name DescriptionDescription

1 Adjust Dates Adjusts all dates in your project in relation to a new start date that you provide when prompted. Tasks with constraints are also adjusted.

2 Analyze Timescaled Data in Excel Exports timephased data to Excel.

3 Eurocurrency Converter ** Displays costs in more than one currency at the same time, without affecting existing cost information.

4 PERT Analysis Performs a Program, Evaluation, and Review Technique (PERT) analysis to estimate a task's duration.

5 Compare Project Versions ** Creates a detailed report that highlights differences between 2 projects.

6 Copy Picture to Office * Exports project information to a table and/or image in a PowerPoint, Word, or Visio document.

7 Visio WBS Chart Wizard ** Exports project information to a hierarchical WBS Chart diagram in Visio.

8 XML Reporting Wizard ** Creates custom reports in any format by generating an Extensible Markup Language (XML) file from project data.

* Introduced in Project 2003** Added to the box in Project 2003 (released via the web for Project 2002)

Developing a Project Developing a Project COM Add-InCOM Add-In

The Project GuideThe Project Guide

Custom Project GuidesCustom Project GuidesThe BasicsThe Basics

What is a custom Project Guide?What is a custom Project Guide?Custom web content & associated script, organized in a Custom web content & associated script, organized in a navigable hierarchynavigable hierarchyThis content can replace or append to Project’s default Project This content can replace or append to Project’s default Project GuideGuide

Writing your own Custom Project GuideWriting your own Custom Project GuideCustom mainpage.htm fileCustom mainpage.htm file

Frameset/layoutFrameset/layoutFunctionality/event handlingFunctionality/event handling

Custom gbui.xml & content filesCustom gbui.xml & content filesHtmlHtmlJScript/VBScriptJScript/VBScriptCSSCSS

Custom Project Guide deployment optionsCustom Project Guide deployment optionsProject Guide securityProject Guide security

IE Trusted SitesIE Trusted Sites

Developing a Custom Developing a Custom Project GuideProject Guide

Custom Project Guide Custom Project Guide SamplesSamples

Custom Web ViewsCustom Web ViewsThe BasicsThe Basics

What is a custom Web View?What is a custom Web View?Custom web content displayed in the Project document Custom web content displayed in the Project document windowwindowMay contain script to interact with ProjectMay contain script to interact with Project

Writing your own Custom Web ViewWriting your own Custom Web ViewCreate the content page (as necessary)Create the content page (as necessary)Modify the mainpage or wrapper page to handle the Modify the mainpage or wrapper page to handle the custom page loadcustom page loadTie the custom page load to Project UITie the custom page load to Project UI

Toolbar button, custom Project Guide button, etcToolbar button, custom Project Guide button, etc

Custom Web View deployment optionsCustom Web View deployment optionsCustom Web View securityCustom Web View security

IE Trusted SitesIE Trusted Sites

Developing a Custom Developing a Custom Web ViewWeb View

Custom Web View Custom Web View SamplesSamples

What You Will Learn: RecapWhat You Will Learn: Recap

The 4 primary desktop development optionsThe 4 primary desktop development optionsVBA MacrosVBA Macros

COM Add-Ins (Unmanaged & Managed)COM Add-Ins (Unmanaged & Managed)

Custom Project GuidesCustom Project Guides

Custom Web ViewsCustom Web Views

HOW, WHEN & WHERE to use each optionHOW, WHEN & WHERE to use each option1)1) Extend Project with Extend Project with VBA macros & COM Add-InsVBA macros & COM Add-Ins to handle to handle

custom scenarios/business logic & automate repetitive custom scenarios/business logic & automate repetitive processesprocesses

2)2) Encapsulate & enforce a Encapsulate & enforce a business process/workflowbusiness process/workflow in in Project through a Project through a custom Project Guidecustom Project Guide

3)3) Integrate Integrate Web-UIWeb-UI into Project through into Project through custom Web Viewscustom Web Views

More InformationMore InformationGeneral: Desktop DevelopmentGeneral: Desktop Development

Start with the Start with the ““Getting Started: Developing with Getting Started: Developing with Project 2003”Project 2003” technical article on MSDN technical article on MSDN

http://msdn.microsoft.com/library/en-us/odc_pj2003_ta/htmhttp://msdn.microsoft.com/library/en-us/odc_pj2003_ta/html/odc_pjGetStarted.aspl/odc_pjGetStarted.asp

This article summarizes the Project desktop This article summarizes the Project desktop development options covered in this session, development options covered in this session, and includes links to helpful information for each and includes links to helpful information for each optionoption

Refer to the Project 2003 SDKRefer to the Project 2003 SDKThe April 12 2004 update online:The April 12 2004 update online:http://http://msdn.microsoft.com/library/default.asp?urlmsdn.microsoft.com/library/default.asp?url=/library/en-us/=/library/en-us/pjsdk/html/pjsdkoverview.asppjsdk/html/pjsdkoverview.asp

The April 12 2004 update download:The April 12 2004 update download:http://www.microsoft.com/downloads/http://www.microsoft.com/downloads/details.aspx?familyiddetails.aspx?familyid=4d2abc8c-8bca-4db9-8753-178c0d3099c5&displaylang=en=4d2abc8c-8bca-4db9-8753-178c0d3099c5&displaylang=en

More InformationMore InformationSpecific: The Project Object ModelSpecific: The Project Object Model

Refer to the compiled VBA help file Refer to the compiled VBA help file installed with Project for OM specificsinstalled with Project for OM specifics

<Install root>:\Program Files\Microsoft Office\<Install root>:\Program Files\Microsoft Office\OFFICE11\<LCID>\VBAPJ.CHMOFFICE11\<LCID>\VBAPJ.CHM

Or from within the Project VBA editor (boot Or from within the Project VBA editor (boot Project and press Alt + F11), use the Object Project and press Alt + F11), use the Object Browser to navigate the OM’s object Browser to navigate the OM’s object hierarchy, and then press F1 to view help hierarchy, and then press F1 to view help information from VBAPJ.CHM for any information from VBAPJ.CHM for any selected object/method/property/eventselected object/method/property/event

More InformationMore InformationSpecific: Creating Project Add-InsSpecific: Creating Project Add-Ins

Refer to the Refer to the “Create a COM Add-in for “Create a COM Add-in for Microsoft Office Project 2003”Microsoft Office Project 2003” & & “Creating Managed Add-ins for “Creating Managed Add-ins for Microsoft Office Project 2003”Microsoft Office Project 2003” Project Project 2003 SDK articles2003 SDK articles

http://msdn.microsoft.com/library/en-us/pjsdk/htmhttp://msdn.microsoft.com/library/en-us/pjsdk/html/pjsdkvb6_Create_COM_Add-In_HV01103711.aspl/pjsdkvb6_Create_COM_Add-In_HV01103711.asp

http://msdn.microsoft.com/library/en-us/pjsdk/htmhttp://msdn.microsoft.com/library/en-us/pjsdk/html/pjsdkMAOverview_HV01098482.aspl/pjsdkMAOverview_HV01098482.asp

More InformationMore InformationSpecific: The Project GuideSpecific: The Project Guide

Refer to the Refer to the “Project Guide 101” “Project Guide 101” Project 2003 SDK article which covers Project 2003 SDK article which covers everything Project Guide-related in this everything Project Guide-related in this session, including sample code for the session, including sample code for the demoed custom Project Guidesdemoed custom Project Guides

The April 12 2004 update download:The April 12 2004 update download:http://www.microsoft.com/downloads/details.aspx?http://www.microsoft.com/downloads/details.aspx?familyid=4d2abc8c-8bca-4db9-8753-familyid=4d2abc8c-8bca-4db9-8753-178c0d3099c5&displaylang=en178c0d3099c5&displaylang=en

© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.