Application.CreateComparisonReport method (Project)

Creates a comparison report between two versions of a project.


expression. CreateComparisonReport( _FileName_, _TaskTable_, _ResourceTable_, _Items_, _Columns_, _ShowLegend_ )

expression An expression that returns an Application object.


Name Required/Optional Data type Description
FileName Optional String Full path and name of the project file to compare.
TaskTable Optional String Name of the table to use for comparison in a task view.
ResourceTable Optional String Name of the table to use for comparison in a resource view.
Items Optional PjCompareVersionItems Specifies the type of items to compare.
Columns Optional PjCompareVersionColumns Specifies whether to show only column data, only column differences, or both differences and data.
ShowLegend Optional Variant If True, shows the legend in the comparison report.

Return value



The CreateComparisonReport method compares task or resource information, but not assignment information.


The following example demonstrate how to create a comparison report. The code first checks that a project is currently open, and then checks that either tasks or resources are in the project. The comparison report is based on cost tables, filtered for only changed task or resource cost information, with columns that display only the differences between tasks or resources. Finally, the comparison report is saved with a file name based on the current (first) project.

Sub ComparisonReport () 
    If Projects.Count = 0 Then 
        MsgBox "You must have at least one active project open before you can compare projects.", _ 
        Exit Sub 
    ElseIf ActiveProject.Tasks.Count = 0 Then 
        If ActiveProject.ResourceCount = 0 Then 
            MsgBox "There are no task or resources in the current project. " & vbCrLf _ 
            & "Open a project with either tasks or resources before creating a comparison report.", _ 
            Exit Sub 
        End If 
    End If 
    ' Get the name of the project to use for saving the comparison report. 
    Dim currentProject As Project 
    Set currentProject = ActiveProject 
    Dim previousVersion As String 
    previousVersion = "[full path to .mpp file to compare with the active project.]" 
    CreateComparisonReport FileName:=previousVersion, _ 
    TaskTable:="Cost", _ 
    ResourceTable:="Cost", _ 
    Items:=pjCompareVersionItemsChangedItems, _ 
    Columns:=pjCompareVersionColumnsDifferencesOnly, _ 
    ' Save the comparison report based upon the name of the first project. 
    Dim comparisonReport As Project 
    Set comparisonReport = ActiveProject 
    ActiveProject.SaveAs currentProject & "_Compared.mpp" 
End Sub

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.