Событие Application.ProjectTaskNew (Project)

Происходит при создании новой задачи.

Синтаксис

выражение. ProjectTaskNew( _pj_, _ID_ )

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Pj Обязательный Проект Проект, в котором была создана задача.
ID Обязательный Long Идентификатор созданной задачи.

Возвращаемое значение

Nothing

Замечания

События уровня проекта можно перехватить за пределами VBA.

Пример

В следующем примере показано, как событие ProjectTaskNew может перехватывать события уровня проекта. В этом случае обработчик событий App_ProjectTaskNew задает глобальную переменную ProjTaskNew , которую использует обработчик событий Change . Используйте аналогичный код с событиями ProjectResourceNew и ProjectAssignmentNew .

  1. Создайте модуль класса с именем EventClassModule и вставьте следующий код:
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
  1. В отдельный модуль вставьте следующий код:
Option Explicit 

Dim X As New EventClassModule 

Sub Initialize_App() 
  Set X.App = MSProject.Application 
  Set X.Proj = Application.ActiveProject 
End Sub
  1. Выполните процедуру Initialize_App , чтобы начать прослушивание событий.

  2. Создайте задачу. Обработчик событий отображает окно сообщения при каждом добавлении новой задачи.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.