Protecting Baseline Fields


Baseline refers to approved estimates. After you have set the baseline in Project, the approved estimates can be displayed by inserting the Baseline fields such as Baseline Start, Baseline Finish, Baseline Work, Baseline Cost and Baseline Duration. Depending on the view these columns are inserted, Project can either display the approved estimates of tasks, resources or assignments

In Gantt Chart view, you can see the approved estimates of the tasks

In Task Usage view, you can see the approved estimates of tasks as well as its assignments

In Resource Sheet view, you can see the approved estimates of resources

Project does not have feature to lock the approved estimates. You can change the baseline fields and Project doesn’t stop you from doing that.

A better solution is capture the event and having VBA handlers for it.

1. Click View tab. Click Macros dropdown and select Visual Basic
image12.png?w=640

2. In the Visual Basic Editor, on the option menu for VBAProject, choose Insert, and then choose Class Module to create a class named Class1.

3. You can rename the class module in the Properties pane. In the following examples, the class is named Events.

4. You must create a new object using the WithEvents keyword in a class module
Public WithEvents App As Application
5. If you user changes the task related fields, the event ProjectBeforeTaskChange is fired. So, change the object and procedure to App and ProjectBeforeTaskChange respectively

6. If you user changes the assignment related fields, the event ProjectBeforeAssignmentChange is fired. So, change the object and procedure to App and ProjectBeforeAssignmentChange respectively

7. If you user changes the resource related fields, the event ProjectBeforeResourceChange is fired. So, change the object and procedure to App and ProjectBeforeResourceChange respectively

8. You need to bind the current Application object to the App object declared in the class to fire the events. Open the ThisProject module and paste the below code. This code declares an object X of type Events (the class module we created earlier), and sets the current Application object to the App object of Events class module

8. Save the changes.
10. Save the plan and close Project.

Now, reopen the plan (why? the application object is set in Project_Open event handler) and make change to the baseline fields. Project will not accept the change and you need to press Escape key to cancel the edit

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s