Метод 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 :

  1. Чтобы использовать пример, используйте Project Web App для создания настраиваемого поля текста корпоративного проекта с именем TestEntProjText.

  2. Перезапустите Project с профилем Project Server, чтобы он был включен в новое настраиваемое поле.

  3. Создайте проект с некоторым значением для поля TestEntProjText с помощью диалогового окна Сведения о проекте .

  4. Макрос TestEnterpriseProjectCF использует метод FieldNameToFieldConstant для поиска номера projectField, например 190873618.

  5. Макрос отображает число и текстовое значение в окне сообщения с помощью метода GetField .

  6. Макрос получает имя поля с помощью метода 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 и обратная связь.