Partager via


Méthode Application.FieldConstantToFieldName (Project)

Renvoie un nom de champ personnalisé pour la constante du champ spécifié.

Syntaxe

expression. FieldConstantToFieldName( _Field_ )

expression Variable qui représente un objet « Application ».

Paramètres

Nom Requis/Facultatif Type de données Description
Field Obligatoire Long Constante numérique du champ personnalisé. Il peut s’agir de l’une des constantes PjField pour les champs personnalisés locaux ou d’une autre valeur Long pour les champs personnalisés d’entreprise.

Valeur renvoyée

String

Remarques

Si l’argument Field est un champ personnalisé local, vous pouvez utiliser l’une des constantes PjField . Si Field est un champ personnalisé d’entreprise, il ne correspond pas à une constante PjField puisque le nombre de champs personnalisés d’entreprise est illimité.

Remarque

Pour des raisons d’utilisation et de performances, le nombre de champs personnalisés d’entreprise doit être limité à quelques centaines au maximum.

Les champs personnalisés du projet sont accessibles via la propriété ProjectSummaryTask.

Exemple

L’exemple suivant montre la différence entre la méthode FieldNameToFieldConstant et la méthode FieldConstantToFieldName :

  1. Pour utiliser l’exemple, utilisez Project Web App pour créer un champ personnalisé de texte de projet d’entreprise nommé TestEntProjText.

  2. Redémarrez Project avec un profil Project Server, afin qu’il inclue le nouveau champ personnalisé.

  3. Créez un projet avec une valeur pour le champ TestEntProjText dans la boîte de dialogue Informations sur le projet.

  4. La macro TestEnterpriseProjectCF utilise la méthode FieldNameToFieldConstant pour rechercher le numéro de projectField, par exemple 190873618.

  5. La macro affiche le nombre et la valeur de texte dans une zone de message à l’aide de la méthode GetField.

  6. La macro obtient le nom du champ à l’aide de la méthode FieldConstantToFieldName , définit une nouvelle valeur à l’aide de la méthode SetField , puis affiche le nom du champ et la nouvelle valeur dans une autre boîte de message.

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

L’exemple suivant montre les différences de noms entre les champs pjTaskStart, pjTaskStartText et des champs de tâches similaires.

Remarque

Les champs pjTask*Text , tels que pjTaskStartText, sont nouveaux dans Project. Ces champs permettent d’obtenir des données sur les dates des tâches planifiées automatiquement et des tâches planifiées manuellement. Par exemple, la colonne Début dans un diagramme de Gantt contient des données String pour les dates, pas des données Variant. Utilisez des champs tels que pjTaskDuration dans les formules de champs personnalisées, mais pas dans les en-têtes de colonne.

Dans les affichages de tâches, les colonnes Début, Fin, Durée, etc., contiennent des données String pour les tâches planifiées automatiquement et les tâches planifiées manuellement. La colonne Durée peut uniquement utiliser des données String ; par conséquent, il n’existe pas d’en-tête de colonne pour pjTaskDuration.

Sub TryNewTaskConstants() 
      ' The pj*Text fields return data for the date columns of automatically and manually scheduled tasks. 
    ' For example, FieldConstantToFieldName(pjTaskStartText) returns the column name for Start date strings. 
 
    Debug.Print "pjTaskStart returns: " & FieldConstantToFieldName(pjTaskStart) 
    Debug.Print "pjTaskStartText returns: " & FieldConstantToFieldName(pjTaskStartText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskFinish returns: " & FieldConstantToFieldName(pjTaskFinish) 
    Debug.Print "pjTaskFinishText returns: " & FieldConstantToFieldName(pjTaskFinishText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskDuration returns: " & FieldConstantToFieldName(pjTaskDuration) 
    Debug.Print "pjTaskDurationText returns: " & FieldConstantToFieldName(pjTaskDurationText) _ 
        & vbCrLf 
 
    Debug.Print "pjTaskBaselineStart returns: " & FieldConstantToFieldName(pjTaskBaselineStart) 
    Debug.Print "pjTaskBaselineStartText returns: " & FieldConstantToFieldName(pjTaskBaselineStartText) 
End Sub

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.