Evento Project.Change (Project)
Ocorre quando uma alteração é feita nos dados do projeto. Uma ação que afeta vários itens ao mesmo tempo será considerada como uma alteração só.
Sintaxe
expression. Change
( _pj_
)
Expressão Uma variável que representa um objeto Project .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
pj | Obrigatório | Project | O projeto que foi alterado. |
Valor de retorno
Nothing
Comentários
O evento Change não ocorre para ações como alternar modos, aplicar filtros, alterar formatação e assim por diante.
Eventos de projeto não ocorrem quando o projeto está inserido em outro documento ou aplicativo.
Exemplo
O exemplo a seguir mostra como o evento ProjectTaskNew pode capturar eventos no nível do projeto. Nesse caso, o manipulador de eventos App_ProjectTaskNew define a variável ProjTaskNew global que usa o manipulador de eventos de alteração. Use código semelhante com os eventos ProjectResourceNew e ProjectAssignmentNew .
- Crie um novo módulo de classe denominado EventClassModule e insira o código a seguir:
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
- Em um módulo separado, insira o seguinte código:
Option Explicit
Dim X As New EventClassModule
Sub Initialize_App()
Set X.App = MSProject.Application
Set X.Proj = Application.ActiveProject
End Sub
Execute o procedimento Initialize_App para começar a ouvir os eventos.
Crie uma nova tarefa. O manipulador de eventos mostrará uma caixa de mensagem sempre que uma nova tarefa for adicionada.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.