Application.FieldNameToFieldConstant 方法 (Project)

返回 一个 long 类型的本地自定义域或企业自定义字段名称

语法

expression. FieldNameToFieldConstant( _FieldName_, _FieldType_ )

expression:表示 Application 对象的变量。

参数

名称 必需/可选 数据类型 说明
FieldName 必需 String 本地或企业自定义域的名称。
FieldType 可选 Long 字段的类型。 可以是下列的 PjFieldType 常量之一: pjProjectpjResourcepjTask 。 默认值是 pjTask

返回值

Long

备注

如果 FieldName 参数的本地自定义字段,则返回的值可以是 PjField 常量。 如果字段名为企业自定义字段,返回的值不匹配 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。