Project.Change Event
Project Developer Reference |
Occurs when a change is made to data in the project. An action affecting several items at once is considered to be one change.
Syntax
expression.Change(pj, )
expression A variable that represents a Project object.
Parameters
Name | Required/Optional | Data Type | Description |
---|---|---|---|
pj | Required | Project | The project that changed. |
Return Value
nothing
Remarks
The Change event does not occur for actions such as switching views, applying filters, changing formatting, and so on.
Project events do not occur when the project is embedded in another document or application.
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:
Visual Basic for Applications 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
Visual Basic for Applications Option Explicit
Dim X As New EventClassModule
Sub Initialize_App()
Set X.App = MSProject.Application Set X.Proj = Application.ActiveProject
End Sub
See Also