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.
Um das Beispiel verwenden zu können, verwenden Sie Project Web App, um ein benutzerdefiniertes Enterprise-Ressourcentextfeld beispielsweise namens TestEntResText zu erstellen.
Starten Sie Project Professional mit einem Project Server-Profil neu, sodass das neue benutzerdefinierte Feld enthalten.
Erstellen Sie ein Projekt, stellen Sie das Team aus Enterprise-Ressourcen zusammen, und ordnen Sie eine Ressource für den ersten Vorgang zu.
Das Makro TestEnterpriseResourceCF verwendet die FieldNameToFieldConstant -Methode zum Ermitteln ResourceField Anzahl 205553667.
Das Makro zeigt den Zahlen- und Textwert in einem Meldungsfeld mit der GetField -Methode.
Das Makro legt mithilfe der SetField -Methode einen neuen Wert für das benutzerdefinierte Feld fest.
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.