共用方式為


Project) (Application.FieldConstantToFieldName 方法

會傳回指定之欄位常數的自訂欄位名稱。

語法

expressionFieldConstantToFieldName( _Field_ )

expression 代表 Application 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Field 必要 Long 自訂欄位的數值常數。 可以是下列其中一個 PjField 常數的本機自訂欄位或企業自訂欄位的另一個 Long 值。

傳回值

字串

註解

如果 Field 引數為本機自訂欄位,您可以使用 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

下列範例會顯示名稱 pjTaskStartpjTaskStartText 與類似任務欄位之間的差異。

注意事項

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 支援與意見反應