次の方法で共有


Resource.SetField メソッド (Project)

指定した、リソースのユーザー設定フィールドの値を設定します。

構文

SetField( _FieldID_, _Value_ )

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

パラメーター

名前 必須 / オプション データ型 説明
FieldID 必須 長整数型 (Long) ローカルのユーザー設定フィールドは、リソース ユーザー設定フィールドの PjField 定数のいずれか。 エンタープライズ ユーザー設定のフィールド、フィールドの Id を取得するのに FieldNameToFieldConstant メソッドを使用します。
Value 必須 String フィールドの値です。

The following example shows how to access an enterprise resource custom field by using the SetField method and the GetField method for the Resource object together with the FieldNameToFieldConstant and FieldConstantToFieldName methods.

  1. To use the example, use Project Web App to create an enterprise resource text custom field named, for example, TestEntResText.

  2. 新しいユーザー設定フィールドが含まれるように Project Server のプロファイルでは、Project Professional を再起動します。

  3. プロジェクトを作成し、エンタープライズ リソースからチームを構築し、最初のタスクにリソースを割り当てます。

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

  5. マクロは、 GetField メソッドを使用して、メッセージ ボックスで、番号とテキストの値を示しています。

  6. マクロは、 SetField メソッドを使用してユーザー設定のフィールドに新しい値を設定します。

  7. マクロは、 FieldConstantToFieldName メソッドを使用して、フィールド名を取得し、別のメッセージ ボックスで、フィールド名と新しい値を表示します。

Sub TestEnterpriseResourceCF() 
    Dim resourceField As Long 
    Dim resourceFieldName As String 
    Dim resourceFieldValue As String 
    Dim message As String 
 
    resourceField = FieldNameToFieldConstant("TestEntResText", pjResource) 
 
    ' Show the enterprise resource field number and old value. 
    message = "Enterprise resource field number: " & resourceField & vbCrLf 
    resourceFieldValue = ActiveProject.Tasks(1).Assignments(1).Resource.GetField(resourceField) 

    If resourceFieldValue = "" Then resourceFieldValue = "[No value]" 
    MsgBox message & "Field value: " & resourceFieldValue 
 
    ' Set a value for the enterprise resource custom field. 
    ' Use either the Resources collection or the Assignments collection 
    ' to access the resource custom field. 
    ' Here, use the Assignments collection. 
    ActiveProject.Tasks(1).Assignments(1).Resource.SetField _
        FieldID:=resourceField, Value:="This is a new value." 
 
    ' For a demonstration, get the field name from the number, 
    ' and then verify the new value. 
    resourceFieldName = FieldConstantToFieldName(resourceField) 
 
    ' Here, use the Resources collection to access the custom field. 
    resourceFieldValue = ActiveProject.Resources(1).GetField(resourceField) 
 
    message = "New value for field: " & resourceFieldName & vbCrLf 
    MsgBox message & "Field value: " & resourceFieldValue 
End Sub

ローカル リソースのユーザー設定フィールドを使用する例については、 GetField メソッドを参照してください。

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

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