Partager via


Méthode Application.AddSiteColumn (Project)

Ajoute une colonne qui devient disponible pour la liste des tâches dans le site SharePoint synchronisé pour le projet actif.

Syntaxe

expression. AddSiteColumn (ProjectField, SharePointName)

expressionUne variable qui représente un objetApplication.

Paramètres

Nom Requis/Facultatif Type de données Description
ProjectField Facultatif PjField Il peut s’agir d’un sous-ensemble de constantes dans l’énumération PjField , qui spécifie le champ de projet à afficher dans la nouvelle colonne ; ne peut pas être l’un des champs interdits (voir Remarques).
SharePointName Facultatif Variant Nom de la nouvelle colonne.

Valeur renvoyée

Boolean

True si la colonne est ajoutée.

Remarques

La méthode AddSiteColumn donne l’erreur d’exécution 1004, « Erreur définie par l’application ou définie par l’objet », dans les cas suivants :

  • Le projet actif n’est pas associé à une liste de tâches SharePoint synchronisée. Si le projet est local, vous pouvez utiliser la méthode LinkToTaskList pour créer une liste de tâches SharePoint synchronisée.

  • Le nom de colonne existe déjà dans la liste des tâches SharePoint. Pour afficher la liste des noms de colonnes, ouvrez la liste des tâches dans SharePoint, puis choisissez Modifier l’affichage sous l’onglet LISTE . La page Paramètres > Modifier l’affichage affiche tous les noms de colonnes disponibles pour la liste des tâches.

  • La valeur ProjectField est un champ non-tâche, tel que pjResourceActualCost. Une liste de tâches SharePoint affiche les champs de tâche, et non les champs de ressource.

  • La valeur ProjectField est un champ personnalisé d’entreprise tel que pjTaskEnterpriseProjectText1, ou un champ de table de recherche tel que pjTaskResourceEnterpriseRBS. Les champs personnalisés des tâches locales, tels que pjTaskText1, sont valides.

  • La valeur ProjectField est l’un des champs interdits dans le tableau 1. Ces champs s’ajoutent aux champs de ressources interdits et aux champs personnalisés d’entreprise. Les champs sont interdits, car ils sont liés à d’autres champs interdits ou ont des types valeur qui ne sont pas pris en charge dans une liste de tâches SharePoint par défaut.

Bien que les champs interdits indiqués dans le tableau suivant puissent sembler être une longue liste, parmi les 1 338 constantes de PjField, il en existe 357, y compris les champs personnalisés de tâche locale, qui peuvent être utilisés avec la méthode AddSiteColumn .

Champs interdits supplémentaires

Field Field Field
pjTaskActive pjTaskActualOvertimeWork pjTaskACWP
pjTaskAssignmentDelay pjTaskAssignmentPeakUnits pjTaskAssignmentUnits
pjTaskBaseline[1-10]BudgetCost pjTaskBaseline[1-10]BudgetWork pjTaskBaseline[1-10]FixedCostAccrual
pjTaskBaselineBudgetCost pjTaskBaselineBudgetWork pjTaskBaselineFixedCostAccrual
pjTaskBudgetCost pjTaskBudgetWork pjTaskCalendarGuid
pjTaskConstraintDate pjTaskConstraintType pjTaskCostRateTable
pjTaskDeliverableGuid pjTaskDeliverableType pjTaskDemandedRequested
pjTaskEarnedValueMethod pjTaskEnterpriseOutlineCode[1-30] pjTaskExternalTask
pjTaskFinishSlack pjTaskFixedCostAccrual pjTaskFreeSlack
pjTaskGuid pjTaskHideBar pjTaskHyperlink
pjTaskHyperlinkAddress pjTaskHyperlinkHref pjTaskHyperlinkScreenTip
pjTaskHyperlinkSubAddress pjTaskID pjTaskIgnoreWarnings
pjTaskIndicators pjTaskIsAssignment pjTaskLevelAssignments
pjTaskLevelDelay pjTaskLinkedFields pjTaskManual
pjTaskMilestone pjTaskNotes pjTaskObjects
pjTaskOutlineCode[1-10] pjTaskOutlineLevel pjTaskOutlineNumber
pjTaskPathDrivenSuccessor pjTaskPathDrivingPredecessor pjTaskPathPredecessor
pjTaskPathSuccessor pjTaskPreleveledFinish pjTaskPreleveledStart
pjTaskPriority pjTaskResourceType pjTaskStartSlack
pjTaskStatus pjTaskStatusIndicator pjTaskSubproject
pjTaskSubprojectReadOnly pjTaskTotalSlack pjTaskType
pjTaskWarning pjTaskWorkContour

Il est possible d’ajouter un champ qui existe déjà dans la liste des tâches, si vous utilisez un nom unique pour le paramètre SharePointName , bien que la valeur de cette opération soit douteuse.

Exemple

Pour utiliser la macro AddDurationColumns, créez une liste de tâches dans un site SharePoint, créez un projet dans Project Professionnel, puis utilisez la méthode LinkToTaskList pour importer la liste des tâches. Définissez une base de référence pour le projet actif à l’aide de la commande Définir la base de référence sous l’onglet PROJET du ruban, puis modifiez la durée de certaines tâches.

La macro AddDurationColumns ajoute la durée de la tâche et la durée de référence à la liste des colonnes disponibles dans la liste des tâches SharePoint (voir la figure 1).

Remarque

Après avoir exécuté la macro AddDurationColumns, vous devez enregistrer le projet dans Project Professionnel pour synchroniser vos modifications avec la liste des tâches SharePoint.

Sub AddDurationColumns()
    Dim success As Boolean
    Dim results As String
    Dim columnName As String
    Dim fieldName As PjField
    results = ""
    
    ' Add the first column.
    fieldName = pjTaskBaselineDurationText
    columnName = "Baseline duration"
    
    ' If the field name exists in the SharePoint tasks list, or fieldName
    ' is one of the prohibited fields, the AddSiteColumn method
    ' returns error 1100.
    On Error Resume Next
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = "Added site column: " & columnName
    Else
        results = "Error in AddSiteColumn: " & columnName
    End If
    
    ' Add the second column.
    fieldName = pjTaskDurationText
    columnName = "Current duration"
    
    success = AddSiteColumn(fieldName, columnName)
    
    If success Then
        results = results & vbCrLf & "Added site column: " & columnName
    Else
        results = results & vbCrLf & "Error in AddSiteColumn: " & columnName
    End If
    
    Debug.Print results
End Sub

Après avoir enregistré le projet, accédez à la liste des tâches dans SharePoint. Dans l’onglet LISTE, sélectionnez la commande Modifier l’affichage. Dans la page Paramètres - Modifier l’affichage, sélectionnez le champ Durée de référence et le champ Durée actuelle ajoutés par la macro AddDurationColumns . La figure 1 montre la liste des tâches avec les deux nouveaux champs.

Figure 1. Ajout de champs à une liste de tâches SharePoint synchronisée

Ajout de champs dans une liste de tâches synchronisée

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.