Getting the Project Guide to show up in Project 2010

Getting the Project Guide to show up in Project 2010

  • Comments 8

Hello,

With the Project 2010 release, we have deprecated the Project Guide content. For the end user, this means there is no way through the UI to show the Project Guide. However, there is away to display the Project Guide through the OM. So if you have your own custom guide, you can still use it with a bit of work. This post will show you how to do this in three easy steps.

The first step is to write a method that turns the guide on and off. To do this, we need to have a guide, so I am going to use the one that we shipped in Project 2007.  However, the default Project Guide files need some changes:

The folder structure should be flattened. All Project Guide files unzip to a subfolder named DefaultProjectGuideFiles.

The gbui:// protocol is removed. The custom "goal-based user interface" protocol and Project Guide resources are not installed with Microsoft Project 2010. For example, the following line in MainPage.htm:
       <script src="gbui://mainpage.js" language="JScript"></script>

   ... is changed to:
       <script src=mainpage.js" language="JScript"></script>

You can find the modified Project Guide files in the Project 2010 SDK download:

http://www.microsoft.com/downloads/details.aspx?FamilyID=46007f25-b44e-4aa6-80ff-9c0e75835ad9&displaylang=en 

Once you have the guide downloaded and extracted into a directory, for example, C:\PG\DefaultProjectGuideFiles, you need to author the following method in VBA:

Sub Guide()

    If (Application.DisplayProjectGuide = False) Then
        OptionsInterfaceEx DisplayProjectGuide:=True, _ 
               ProjectGuideUseDefaultFunctionalLayoutPage:=False, _ 
               ProjectGuideUseDefaultContent:=False, _ 
               ProjectGuideContent:="C:\PG\DefaultProjectGuideFiles\GBUI.XML", _ 
               ProjectGuideFunctionalLayoutPage:="C:\PG\DefaultProjectGuideFiles\MAINPAGE.htm"
    Else
        OptionsInterfaceEx DisplayProjectGuide:=False
    End If

End Sub

Update the ProjectGuideContent and ProjectGuideFunctionalLayoutPage to point your Project Guide content.

The next step is to create a button in the ribbon. In this example, I will add a button to the View tab:

image

Here is the code to do this:

Private Sub AddGuideRibbonButton()

    Dim ribbonXML As String
    
    
    ribbonXML = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">"
    ribbonXML = ribbonXML + "   <mso:ribbon>"
    ribbonXML = ribbonXML + "   <mso:qat/>"
    ribbonXML = ribbonXML + "       <mso:tabs>"
    ribbonXML = ribbonXML + "           <mso:tab idQ=""mso:TabView"">"
    ribbonXML = ribbonXML + "               <mso:group id=""Project_Guide"" label=""Project Guide"" autoScale=""true"">"
    ribbonXML = ribbonXML + "                   <mso:button id=""Project_Guide_Btn"" label=""Guide"" imageMso=""CategoryCollapse"" onAction=""Guide""/>"
    ribbonXML = ribbonXML + "               </mso:group>"
    ribbonXML = ribbonXML + "           </mso:tab>"
    ribbonXML = ribbonXML + "       </mso:tabs>"
    ribbonXML = ribbonXML + "   </mso:ribbon>"
    ribbonXML = ribbonXML + "</mso:customUI>"
   
    ActiveProject.SetCustomUI (ribbonXML)
    
End Sub

The last step is to hook up loading the button to an event. For this example, I am doing on the Project Open event, however, you may want to choose a different event based on your scenario.

Private Sub Project_Open(ByVal pj As Project)

    AddGuideRibbonButton

End Sub

At this point, we have a working Project Guide in Project 2010:

image

Note: Because the Project Guide is an add-in, Project 2010 adds the Tasks, Resources, Track, and Report drop-down menus to the Add-Ins tab on the ribbon.

Hope this helps,

Chris Boyd

Leave a Comment
  • Please add 6 and 5 and type the answer here:
  • Post
  • Hai..

    This is great job...

    Is there csharp code available?

    Please help me...

    Thanks in advance

    iqbalkmk

  • Hai Chris.

    I just converted the Guide method in csharp.

    I used the method btn_Guid_click event.

    but it giving runtime error.

    private void btn_Guid_Click(object sender, RibbonControlEventArgs e)

           {

               guid();

           }

           public void guid()

           {

    if(Ribbon1.Appliction.DisplayProjectGuide ==false)

               {

                   Appliction.OptionsInterfaceEx(Appliction.DisplayProjectGuide = true,

                   ProjectGuideUseDefaultFunctionalLayoutPage = true,

                  ProjectGuideUseDefaultContent = true,

                  ProjectGuideContent = "c:/ePMBoK/ps.xml",

                  ProjectGuideFunctionalLayoutPage = "c:/ePMBoK/Repository/Reference/mainpage.htm");Error is here "The argument value is not valid."

               }

               else

                   Appliction.OptionsInterfaceEx(Appliction.DisplayProjectGuide = false);

           }

    Is available Addguideribbonbutton method in csharp code..

    Thanks in advance

    iqbalkmk

  • For a C# example that displays the Project Guide by using a VSTO add-in, see Code samples from the Project 2010 SDK webcast ( blogs.msdn.com/.../code-samples-from-the-project-2010-sdk-webcast.aspx ).

  • I'm a beginner for Project Server . Kindly please tell me that how can I do this ? Which exact file should Edit ? I downloaded the SDK File also.

  • Hello Chris Boyd,

    Would it be possible for you to create some kind of installer for this add-in for us?

    Thanks!

  • I was shocked to hear this, as a project trainer, I always pointed to the guide in 2007 as a great learning tool. I am not a programmer, so an installer would be useful for myself and my future students...thx!!!

  • Can't understand why it was dropped out of the product!!!

  • I would LOVE to be able to just d/l and install this, I'm a newer Project user and learned on 2007 and found the guide extremely useful, but was forced to switch over to 2010. So much is missing!

Page 1 of 1 (8 items)