次の方法で共有


Application.FieldConstantToFieldName メソッド (Project)

指定されたフィールド定数のユーザー設定フィールド名を返します。

構文

FieldConstantToFieldName( _Field_ )

Application オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Field 必須 長整数型 (Long) ユーザー設定フィールドの数値の定数です。 PjField 定数、ローカルのユーザー設定フィールドまたはエンタープライズ ユーザー設定フィールドのもう 1 つの Long 値のいずれかできます。

戻り値

String

注釈

フィールド引数にローカルのユーザー設定フィールドがある場合は、 PjField 定数のいずれかを使用できます。 フィールドは、エンタープライズ ユーザー設定フィールドである場合、無制限の数のエンタープライズ ユーザー設定フィールドが存在することができますので PjField 定数は一致しません。

注:

[!メモ] 使いやすさとパフォーマンスの点から、エンタープライズ ユーザー設定フィールドの数は数百個までに制限してください。

ProjectSummaryTask プロパティを通じて、プロジェクトのユーザー設定フィールドにアクセスできます。

次の使用例は、 FieldNameToFieldConstant メソッドと FieldConstantToFieldName メソッドの違いを示しています。

  1. To use the example, use Project Web App to create an enterprise project text custom field named TestEntProjText.

  2. 新しいユーザー設定フィールドが含まれるように、プロジェクトのサーバー プロファイルを使用してプロジェクトを再起動します。

  3. Create a project with some value for the TestEntProjText field, by using the Project Information dialog box.

  4. TestEnterpriseProjectCF マクロは、190873618、projectField 番号を検索する FieldNameToFieldConstant メソッドを使用します。

  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 のサポートおよびフィードバックを参照してください。