Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает значение указанного ресурса в настраиваемом поле.
Синтаксис
выражение.
SetField( _FieldID_, _Value_ )
выражение Переменная, представляющая объект ресурса .
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| FieldID | Обязательный | Long | Для локального настраиваемого поля может быть одна из констант PjField для настраиваемых полей ресурсов. Для корпоративных настраиваемых полей используйте метод FieldNameToFieldConstant для получения поля FieldID. |
| Значение | Обязательный | String | Значение поля. |
Пример
В следующем примере показано, как получить доступ к настраиваемому полю корпоративного ресурса с помощью методов SetField и GetField для объекта Resource вместе с методами FieldNameToFieldConstant и FieldConstantToFieldName .
В этом примере с помощью Project Web App создайте настраиваемое поле текста корпоративного ресурса с именем, например, TestEntResText.
Перезапустите Project профессиональный с профилем Project Server, чтобы он включил новое настраиваемое поле.
Создайте проект, сформируйте команду из корпоративных ресурсов и назначьте ресурс для первой задачи.
Макрос TestEnterpriseResourceCF использует метод FieldNameToFieldConstant для поиска номера resourceField, например 205553667.
Макрос отображает число и текстовое значение в окне сообщения с использованием метода GetField .
Макрос задает новое значение для настраиваемого поля с помощью метода SetField .
Макрос получает имя поля с помощью метода FieldConstantToFieldName , а затем отображает имя поля и новое значение в другом окне сообщения.
Sub TestEnterpriseResourceCF()
Dim resourceField As Long
Dim resourceFieldName As String
Dim resourceFieldValue As String
Dim message As String
resourceField = FieldNameToFieldConstant("TestEntResText", pjResource)
' Show the enterprise resource field number and old value.
message = "Enterprise resource field number: " & resourceField & vbCrLf
resourceFieldValue = ActiveProject.Tasks(1).Assignments(1).Resource.GetField(resourceField)
If resourceFieldValue = "" Then resourceFieldValue = "[No value]"
MsgBox message & "Field value: " & resourceFieldValue
' Set a value for the enterprise resource custom field.
' Use either the Resources collection or the Assignments collection
' to access the resource custom field.
' Here, use the Assignments collection.
ActiveProject.Tasks(1).Assignments(1).Resource.SetField _
FieldID:=resourceField, Value:="This is a new value."
' For a demonstration, get the field name from the number,
' and then verify the new value.
resourceFieldName = FieldConstantToFieldName(resourceField)
' Here, use the Resources collection to access the custom field.
resourceFieldValue = ActiveProject.Resources(1).GetField(resourceField)
message = "New value for field: " & resourceFieldName & vbCrLf
MsgBox message & "Field value: " & resourceFieldValue
End Sub
Пример, в котором используется настраиваемое поле локального ресурса, см. метод GetField .
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.