Application.FieldNameToFieldConstant メソッド (Project)

ローカル ユーザー設定フィールドまたはエンタープライズのユーザー設定フィールド名の 長さ の値を返します。

構文

FieldNameToFieldConstant( _FieldName_, _FieldType_ )

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

パラメーター

名前 必須 / オプション データ型 説明
FieldName 必須 String ローカル ユーザー設定フィールドまたはエンタープライズ ユーザー設定フィールドの名前を指定します。
FieldType 省略可能 長整数型 (Long) フィールドの型。 PjFieldType 定数は、次のいずれか: pjProjectpjResource 、または pjTask です。 既定値は、 pjTask です。

戻り値

Long

注釈

フィールド名の引数がローカルのユーザー設定フィールドの場合は、返される値は 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. プロジェクト サーバー プロファイルを使用してProjectを再起動し、新しいユーザー設定フィールドが含まれています。

  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

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。