Thanks Tom, this is really useful. Strangely I appear to have to run the macro a couple of times in order to delete all "I" tasks, but it beats doing it manually that's for sure! (my plan is 5k tasks long).
Also I agree with your advice regarding this method being slightly risky, and in all honesty I don't see any reason to hide anything from the client anyway, but I aint the boss! Ultimately I'm untertaking this task manually regardless, so I've ensured that no logic will be broken in the process, and now it's automated it can be done much quicker!
Here's a simple procedure that does what you suggest for a simple project I tested it on.
Sub DeleteInternal()
Dim t As Task
For Each t In ActiveProject.Tasks
If Not t Is Nothing Then
If t.Text23 = "I" Then t.Delete
End If
Next t
End Sub
Personally I would never use this kind of hammer on one of my schedules - without very serious review and confirmation of the "I" codes. You are liable to break some logical or resource link, and the client will not be happy when they open your schedule, calculate it, and get different results than you have.
You might also consider developing a routine that simply obfuscates the names of the tasks, leaving the logic and other data untouched.
Member for
8 years 3 monthsThanks Tom, this is really
Thanks Tom, this is really useful. Strangely I appear to have to run the macro a couple of times in order to delete all "I" tasks, but it beats doing it manually that's for sure! (my plan is 5k tasks long).
Also I agree with your advice regarding this method being slightly risky, and in all honesty I don't see any reason to hide anything from the client anyway, but I aint the boss! Ultimately I'm untertaking this task manually regardless, so I've ensured that no logic will be broken in the process, and now it's automated it can be done much quicker!
Thanks again,
Rob
Member for
8 years 3 months.
.
Member for
18 years 11 monthsHi Rob,Here's a simple
Hi Rob,
Here's a simple procedure that does what you suggest for a simple project I tested it on.
Sub DeleteInternal()
Dim t As Task
For Each t In ActiveProject.Tasks
If Not t Is Nothing Then
If t.Text23 = "I" Then t.Delete
End If
Next t
End Sub