Метод Task.SetField (Project)
Задает значение указанного настраиваемого поля задачи.
Синтаксис
выражение. SetField
( _FieldID_
, _Value_
)
Выражение Переменная, представляющая объект Task .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FieldID | Обязательный | Long | Для локального настраиваемого поля может быть одной из констант PjField для настраиваемых полей задачи. Для корпоративного настраиваемого поля используйте метод FieldNameToFieldConstant , чтобы получить FieldID. |
Value (Значение) | Обязательный | String | Значение поля. |
Замечания
Доступ к настраиваемым полям проекта можно получить через свойство ProjectSummaryTask .
Пример
В следующем примере используется метод SetField и метод GetField вместе с методами FieldNameToFieldConstant и FieldConstantToFieldName .
Чтобы использовать пример, используйте Project Web App для создания настраиваемого поля текста корпоративного проекта с именем TestEntProjText.
Перезапустите Project профессиональный с профилем Project Server, чтобы он был включен в новое настраиваемое поле.
Создайте проект с некоторым значением для поля TestEntProjText с помощью диалогового окна Сведения о проекте .
Макрос TestEnterpriseProjectCF использует метод FieldNameToFieldConstant для поиска номера projectField, например 190873618.
Макрос отображает число и текстовое значение в окне сообщения с помощью метода GetField .
Макрос получает имя поля с помощью метода FieldConstantToFieldName , задает новое значение с помощью метода SetField , а затем отображает имя поля и новое значение в другом окне сообщения.
Sub TestEnterpriseProjectCF()
Dim projectField As Long
Dim projectFieldName As String
Dim message As String
projectField = FieldNameToFieldConstant("TestEntProjText", pjProject)
' Show the enterprise project field number and old value.
message = "Enterprise project field number: " & projectField & vbCrLf
MsgBox message & ActiveProject.ProjectSummaryTask.GetField(projectField)
ActiveProject.ProjectSummaryTask.SetField FieldID:=projectField, Value:="This is a new value."
' For a demonstration, get the field name from the field number, and verify the new value.
projectFieldName = FieldConstantToFieldName(projectField)
message = "New value for field: " & projectFieldName & vbCrLf
MsgBox message & ActiveProject.ProjectSummaryTask.GetField(projectField)
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.