Метод Application.FieldNameToFieldConstant (Project)
Возвращает значение Long для локального настраиваемого поля или имени настраиваемого поля предприятия.
Синтаксис
выражение. FieldNameToFieldConstant
( _FieldName_
, _FieldType_
)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
FieldName | Обязательный | String | Имя локального или корпоративного настраиваемого поля. |
FieldType | Необязательный | Long | Тип поля. Может быть одной из следующих констант PjFieldType : pjProject, pjResource или pjTask. Значение по умолчанию — pjTask. |
Возвращаемое значение
Long
Замечания
Если аргумент FieldName является локальным настраиваемым полем, возвращаемое значение может быть константой PjField . Если FieldName является корпоративным настраиваемым полем, возвращаемое значение не совпадает с константой PjField , так как может быть неограниченное количество корпоративных настраиваемых полей.
Примечание.
Из соображений удобства использования и производительности количество настраиваемых корпоративных полей должно быть ограничено несколькими сотнями или меньше.
Доступ к настраиваемым полям проекта можно получить через свойство ProjectSummaryTask .
Пример
В следующем примере показано различие между методом 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, show 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 и обратная связь.