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

Происходит до того, как пользователь изменяет значение поля назначения.

Синтаксис

выражение. ProjectBeforeAssignmentChange( _asg_, _Field_, _NewVal_, _Cancel_ )

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
ASG Обязательный Assignment Задание, поле которого изменяется.
Field Обязательный PjAssignmentField Изменяемое поле. Если пользователем изменено несколько полей, событие срабатывает для каждого измененного поля. Может быть одной из следующих констант PjAssignmentField .
Новая Вэл Обязательный Variant Новое значение для поля, указанного с помощью Field.
Отмена Обязательный Boolean При возникновении события значение false. Если процедура обработки событий устанавливает для этого аргумента значение True, значение для поля, указанного с помощью Field , не изменяется.

Примечания

События проекта не происходят, если проект внедрен в другой документ или приложение.

Событие ProjectBeforeAssignmentChange не возникает при изменении данных в масштабе времени, при вставке всей строки ресурса или задачи, при изменении назначения в результате перетаскивания в представлении "Использование ресурсов", во время операций пула ресурсов, при вставке или удалении подпроекта или при внесении изменений с помощью настраиваемой формы. Дополнительные сведения и пример кода для создания и тестирования обработчика событий см. в статье "Использование событий с объектами приложений и проектов".

Пример

В следующем примере проверяются и отменяются назначения новых ресурсов, если они предназначены для указанного ресурса. В этом примере требуется новый модуль класса и дополнительный код, чтобы он имел эффект.

Private Sub App_ProjectBeforeAssignmentChange(ByVal asg As Assignment, ByVal Field As PjAssignmentField, _ 
    ByVal NewVal As Variant, Cancel As Boolean) 
 
    If Field = pjAssignmentResourceName And NewVal = "Lisa Jones" Then 
        MsgBox "Lisa is no longer available for assignment!" 
        Cancel = True 
    End If 
End Sub

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

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