Woeful apologies for my lack of posts, but no sooner had this blog started, I got a full time contract helping to plan an expansion to an oil refinery. Now I’m only part time so intend to resume blogging.
One of the problems we had on the refinery project was that there were 5 main schedules and 3 core schedulers to manage them. Each scheduler used all schedules (though mostly just two). Other issues aside, the key complaint was that each time you opened a schedule; it was in the state saved by the last user (no project server). Here is my solution:
A Project_Open macro that depending on the logged in user’s name, applied a View and Table reserved for each contractor’s scheduler. Finally the Gantt chart was scrolled to today’s date.
Private Sub Project_Open(ByVal pj As Project)
Select Case UserName
Case "Contractor1 Name"
ViewApply "Gantt Chart C1"
TableApply "C1"
Case "Contractor2 Name"
ViewApply "Gantt Chart C2"
TableApply "C2"
Case "Contractor3 Name"
ViewApply "Gantt Chart C3"
TableApply "C3"
Case Else
ViewApply "Gantt Chart"
TableApply "Entry"
End Select
EditGoTo Date:=Date
End Sub
Now each user experiences only their own interface by default and always sees current Tasks (Gantt Chart scrolls to today’s date). This is so seamless, they complained when using Project on another system!
Happy programming,
Rod Gill