Méthode Resource.SetField (Project)
Définit la valeur du champ personnalisé de la ressource spécifiée.
Syntaxe
expression. SetField
( _FieldID_
, _Value_
)
Expression Variable qui représente un objet Resource .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
FieldID | Obligatoire | Long | Pour un champ personnalisé local, il peut s’agir de l’une des constantes PjField pour les champs personnalisés de ressource. Pour un champ personnalisé d’entreprise, utilisez la méthode FieldNameToFieldConstant pour obtenir le FieldID. |
Valeur | Obligatoire | String | Valeur du champ. |
Exemple
L’exemple suivant illustre comment accéder à un champ personnalisé de ressource d’entreprise en utilisant les méthodes SetField et GetField pour l’objet Resource de pair avec les méthodes FieldNameToFieldConstant et FieldConstantToFieldName.
Pour utiliser l’exemple, utilisez Project Web App pour créer un champ personnalisé de texte de ressource d’entreprise nommé, par exemple TestEntResText.
Redémarrez Project Professionnel avec un profil Project Server, afin qu’il inclue le nouveau champ personnalisé.
Créez un projet, créez l’équipe à partir des ressources d’entreprise, puis affectez une ressource à la première tâche.
La macro TestEnterpriseResourceCF utilise la méthode FieldNameToFieldConstant pour trouver le nombre resourceField, par exemple, 205553667.
La macro affiche le nombre et la valeur de texte dans une zone de message à l’aide de la méthode GetField.
La macro définit une nouvelle valeur pour le champ personnalisé, à l’aide de la méthode SetField
La macro obtient le nom de champ au moyen de la méthode FieldConstantToFieldName, puis affiche le nom du champ et la nouvelle valeur dans une autre zone de message.
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
Pour obtenir un exemple qui utilise un champ personnalisé de ressource locale, consultez la méthode GetField .
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.