Share via


Resource.SetField-Methode (Project)

Legt den Wert des angegebenen, benutzerdefinierten Ressourcenfelds fest.

Syntax

Ausdruck. SetField( _FieldID_, _Value_ )

Ausdruck Eine Variable, die ein Resource-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
FieldID Erforderlich Long Für ein lokales benutzerdefiniertes Feld kann eine der PjField -Konstanten für benutzerdefinierte Ressourcenfelder enthalten sein. Verwenden Sie für ein benutzerdefiniertes Enterprise-Feld die FieldNameToFieldConstant -Methode zum Abrufen der FieldID.
Value Erforderlich String Der Wert des Felds.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie ein benutzerdefiniertes Enterprise-Ressourcenfeld zugreifen, indem Sie mithilfe der Methoden SetField und GetField für das Resource -Objekt zusammen mit den Methoden FieldNameToFieldConstant und FieldConstantToFieldName.

  1. Um das Beispiel verwenden zu können, verwenden Sie Project Web App, um ein benutzerdefiniertes Enterprise-Ressourcentextfeld beispielsweise namens TestEntResText zu erstellen.

  2. Starten Sie Project Professional mit einem Project Server-Profil neu, sodass das neue benutzerdefinierte Feld enthalten.

  3. Erstellen Sie ein Projekt, stellen Sie das Team aus Enterprise-Ressourcen zusammen, und ordnen Sie eine Ressource für den ersten Vorgang zu.

  4. Das Makro TestEnterpriseResourceCF verwendet die FieldNameToFieldConstant -Methode zum Ermitteln ResourceField Anzahl 205553667.

  5. Das Makro zeigt den Zahlen- und Textwert in einem Meldungsfeld mit der GetField -Methode.

  6. Das Makro legt mithilfe der SetField -Methode einen neuen Wert für das benutzerdefinierte Feld fest.

  7. Das Makro ruft den Feldnamen mithilfe der FieldConstantToFieldName -Methode und zeigt dann die Feldnamen und einen neuen Wert in einem weiteren Meldungsfeld.

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

Ein Beispiel, das ein lokales benutzerdefiniertes Ressourcenfeld verwendet, finden Sie unter der GetField -Methode.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.