ProjectTaskNew Event
Occurs when a new task is created.
In Microsoft Office Project 2003, you can listen to project-level events from outside of Microsoft Visual Basic for Applications (VBA).
Syntax
Private Sub object_ProjectTaskNew(ByVal pj As MSProject.Project, ID As Long)
object An object of type Application declared with events in a class module. For more information, see Using events with the Application object.
pj The project where the task was created.
ID The ID of the task that was just created.
Example
The following example shows how the ProjectTaskNew event can be used to listen to Project-level events (in this case, the change event). The same can also be applied to ProjectResourceNew and ProjectAssignmentNew events as well.
Create a new class module called "EventClassModule." Insert the following code:
Option Explicit Option Base 1 Public WithEvents App As Application Public WithEvents Proj As Project Dim NewTaskIDs() As Integer Dim NumNewTasks As Integer Dim ProjTaskNew As Boolean Private Sub App_ProjectTaskNew(ByVal pj As Project, ByVal ID As Long) NumNewTasks = NumNewTasks + 1 If ProjTaskNew Then ReDim Preserve NewTaskIDs(NumNewTasks) As Integer Else ReDim NewTaskIDs(NumNewTasks) As Integer End If NewTaskIDs(NumNewTasks) = ID ProjTaskNew = True End Sub Private Sub Proj_Change(ByVal pj As Project) Dim NewTaskID As Variant If ProjTaskNew Then For Each NewTaskID In NewTaskIDs MsgBox "New Task Name: " & ActiveProject.Tasks.UniqueID(NewTaskID).Name Next NewTaskID NumNewTasks = 0 ProjTaskNew = False End If End Sub
In a separate module, insert the following code:
Option Explicit Dim X As New EventClassModule Sub Initialize_App() Set X.App = MSProject.Application Set X.Proj = Application.ActiveProject End Sub
Run the Initialize_App procedure to start listening to the events.
Create a new task, and the event causes a message box to pop up every time a new task is added.
Applies to | Application Object
See Also | ProjectAssignmentNew Event | ProjectResourceNew Event