返回指定域常量的自定义域名称。
语法
expression。 FieldConstantToFieldName( _Field_ )
expression:表示“Application”对象的变量。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 | 
|---|---|---|---|
| Field | 必需 | Long | 自定义字段的数字常量。 可以是本地自定义域的 PjField 常量或另一个 long 类型 的值,对企业自定义字段之一。 | 
返回值
String
备注
如果域参数是本地自定义域,您可以使用 PjField 常量之一。 如果字段是企业自定义域,不匹配的 PjField 常量因为可以有任意的数量的自定义域。
注意
[!注释] 出于可用性及性能方面的考虑,应将企业自定义域的数量限制在几百个或更少的水平。
您可以通过 ProjectSummaryTask 属性来访问项目自定义域。
示例
下面的示例显示 FieldNameToFieldConstant 方法和 FieldConstantToFieldName 方法之间的区别:
- 若要使用本示例,请使用 Project Web App 创建一个名为 "TestEntProjText" 的企业项目文本自定义域。 
- 以使其包括新的自定义字段,使用 Project Server 配置文件,重新启动 Project。 
- 使用 "项目信息" 对话框创建一个项目,并为 "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
下面的示例显示在名称中 pjTaskStart 、 pjTaskStartText 和类似的任务域之间的差异。
注意
pjTask*Text 字段(如 pjTaskStartText)是 Project 中的新增字段。 Those fields are used to get data for dates of both automatically and manually scheduled tasks. For example, the Start column in a Gantt chart contains String data for dates, not Variant data. 在自定义字段公式中使用 pjTaskDuration 等字段,但不在列标题中使用。
开始、 完成、 持续时间和等,任务视图中的列包含自动计划和手动计划任务的 字符串 数据。 持续时间列中只能使用 字符串 数据,因此没有为 pjTaskDuration 的列标题。
Sub TryNewTaskConstants() 
      ' The pj*Text fields return data for the date columns of automatically and manually scheduled tasks. 
    ' For example, FieldConstantToFieldName(pjTaskStartText) returns the column name for Start date strings. 
 
    Debug.Print "pjTaskStart returns: " & FieldConstantToFieldName(pjTaskStart) 
    Debug.Print "pjTaskStartText returns: " & FieldConstantToFieldName(pjTaskStartText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskFinish returns: " & FieldConstantToFieldName(pjTaskFinish) 
    Debug.Print "pjTaskFinishText returns: " & FieldConstantToFieldName(pjTaskFinishText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskDuration returns: " & FieldConstantToFieldName(pjTaskDuration) 
    Debug.Print "pjTaskDurationText returns: " & FieldConstantToFieldName(pjTaskDurationText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskBaselineStart returns: " & FieldConstantToFieldName(pjTaskBaselineStart) 
    Debug.Print "pjTaskBaselineStartText returns: " & FieldConstantToFieldName(pjTaskBaselineStartText) 
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。