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
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