Copying link information between Projects adjusting for new IDs?

B

B Fennell

I have a need to be able to copy information from numerous separate project
files into one large comprehensive project file. I wrote a macro to copy
tasks from one project file (proj1) to another (proj2) where the user could
specify where exactly the information was to be copied in proj2. This was
simple until I tried to copy link information. I tried the following:

Projects(proj2)Tasks(i).Predecessors = Projects(proj1).Tasks(j).Predecessors
Projects(proj2)Tasks(i).Successors= Projects(proj1).Tasks(j).Successors

Where i and j are different numbers. The IDs of the tasks being copied
(from proj1) are going to adjust to their new position (once they're in
proj2) but the link information appears to be static

Is there a way (or a pre-existing macro) that I can use to copy link
information from one project to another that will adjust links to their new
position? I need this in order to retain the relationships established in
the source project (proj1) regardless of where it is copied into the target
project (proj2).
 
J

John

B Fennell said:
I have a need to be able to copy information from numerous separate project
files into one large comprehensive project file. I wrote a macro to copy
tasks from one project file (proj1) to another (proj2) where the user could
specify where exactly the information was to be copied in proj2. This was
simple until I tried to copy link information. I tried the following:

Projects(proj2)Tasks(i).Predecessors = Projects(proj1).Tasks(j).Predecessors
Projects(proj2)Tasks(i).Successors= Projects(proj1).Tasks(j).Successors

Where i and j are different numbers. The IDs of the tasks being copied
(from proj1) are going to adjust to their new position (once they're in
proj2) but the link information appears to be static

Is there a way (or a pre-existing macro) that I can use to copy link
information from one project to another that will adjust links to their new
position? I need this in order to retain the relationships established in
the source project (proj1) regardless of where it is copied into the target
project (proj2).

B Fennell,
Boy, that's tough one. What if one of the predecessors is a task in
proj1 that was not copied into proj2? Are the links cross project links
(i.e. external predecessors)? If so, a simple copy won't get you there,
but I have a macro that will.

Without really understanding why you need to copy select tasks from
several projects into a new project, it seems like you are doing it the
hard way. It would be a lot simpler to create a static master
(Insert/Project with "link to project" option unchecked), and then
delete tasks that you don't want in the master. Doing it this way the
links will automatically adjust, unless they were cross project links.
If the latter is the case, you will need a macro like I have. By the
way, the macro I have is NOT freeware.

John
Project MVP
 
B

B Fennell

John said:
B Fennell,
Boy, that's tough one. What if one of the predecessors is a task in
proj1 that was not copied into proj2? Are the links cross project links
(i.e. external predecessors)? If so, a simple copy won't get you there,
but I have a macro that will.

Without really understanding why you need to copy select tasks from
several projects into a new project, it seems like you are doing it the
hard way. It would be a lot simpler to create a static master
(Insert/Project with "link to project" option unchecked), and then
delete tasks that you don't want in the master. Doing it this way the
links will automatically adjust, unless they were cross project links.
If the latter is the case, you will need a macro like I have. By the
way, the macro I have is NOT freeware.

John
Project MVP

I was trying to create a poor man's shared workspace. There will be 1
master project file but several groups that need to access and update it.
And if there is only one file, only one group can access it at a time. The
quick workaround I was trying to explore was breaking up the master project
file, into smaller projects files (for each group) to allow them to work on
their respective parts simultaneously, and to bring them back together. It
was a "shot in the dark" but honestly, this approach doesn't look very
feasible right now. Any alternate suggestions?
 
J

John

B Fennell said:
I was trying to create a poor man's shared workspace. There will be 1
master project file but several groups that need to access and update it.
And if there is only one file, only one group can access it at a time. The
quick workaround I was trying to explore was breaking up the master project
file, into smaller projects files (for each group) to allow them to work on
their respective parts simultaneously, and to bring them back together. It
was a "shot in the dark" but honestly, this approach doesn't look very
feasible right now. Any alternate suggestions?

B Fennell,
You're right, the approach you describe doesn't sound very "sound".
Furthermore, if there is only one master file only one USER can access
it at a time, not the whole group.

It isn't real clear if you have individual files at the performer level
(recommended) or a single master the covers all performers. The best
approach is to configure the work breakdown so that individual
performers or functional groups have a separate file for their
activities in the overall plan. If appropriate create intermediate
levels of master project so functional manager can pull together all the
individual files of each performer in his/her functional organization.
These intermediate master can then be inserted into the overall master.

Another option to consider is Project Server. I'm not conversant with
Server but you can find out more about it by posting in our sister
newsgroup, microsoft.public.project.server.

John
Project MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top