Application.AddSiteColumn method (Project)

Fügt eine Spalte hinzu, die für die Aufgabenliste auf der synchronisierten SharePoint-Website für das aktive Projekt verfügbar wird.

Syntax

Ausdruck. AddSiteColumn (ProjectField, SharePointName)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Projectfield Optional PjField Kann eine von einer Teilmenge von Konstanten in der PjField-Enumeration sein, die das Projektfeld angibt, das in der neuen Spalte angezeigt werden soll. darf nicht eines der unzulässigen Felder sein (siehe Hinweise).
SharePointName Optional Variant Der Name der neuen Spalte.

Rückgabewert

Boolean

True , wenn die Spalte hinzugefügt wird.

HinwBemerkungeneise

Die AddSiteColumn-Methode gibt in den folgenden Fällen den Laufzeitfehler 1004, "Anwendungsdefinierter oder objektdefinierter Fehler":

  • Das aktive Projekt ist keiner synchronisierten SharePoint-Aufgabenliste zugeordnet. Wenn das Projekt lokal ist, können Sie die LinkToTaskList-Methode verwenden, um eine synchronisierte SharePoint-Aufgabenliste zu erstellen.

  • Der Spaltenname ist bereits in der SharePoint-Aufgabenliste vorhanden. Um die Liste der Spaltennamen anzuzeigen, öffnen Sie die Aufgabenliste in SharePoint, und wählen Sie dann ansicht ändern auf der Registerkarte LISTE aus. Auf der Seite Einstellungen > Bearbeitungsansicht werden alle Spaltennamen angezeigt, die für die Aufgabenliste verfügbar sind.

  • Der ProjectField-Wert ist ein Nicht-Vorgangsfeld, z. B. pjResourceActualCost. Eine SharePoint-Aufgabenliste zeigt Aufgabenfelder, keine Ressourcenfelder an.

  • Der ProjectField-Wert ist ein benutzerdefiniertes Enterprise-Feld wie pjTaskEnterpriseProjectText1 oder ein Nachschlagetabellenfeld wie pjTaskResourceEnterpriseRBS. Benutzerdefinierte Felder für lokale Aufgaben, z. B. pjTaskText1, sind gültig.

  • Der ProjectField-Wert ist eines der unzulässigen Felder in Tabelle 1. Diese Felder sind zusätzlich zu den unzulässigen Ressourcenfeldern und benutzerdefinierten Enterprise-Feldern enthalten. Die Felder sind unzulässig, da sie mit anderen verbotenen Feldern verknüpft sind oder Werttypen aufweisen, die in einer Standardmäßigen SharePoint-Aufgabenliste nicht unterstützt werden.

Obwohl die in der folgenden Tabelle angezeigten unzulässigen Felder eine lange Liste zu sein scheinen, gibt es von den 1.338 Konstanten in PjField 357 , einschließlich lokaler benutzerdefinierter Aufgabenfelder, die mit der AddSiteColumn-Methode verwendet werden können.

Zusätzliche unzulässige Felder

Feld Feld Feld
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

Es ist möglich, ein Feld hinzuzufügen, das bereits in der Aufgabenliste vorhanden ist, wenn Sie einen eindeutigen Namen für den SharePointName-Parameter verwenden, obwohl der Wert dieser Aufgabe fraglich ist.

Beispiel

Um das AddDurationColumns-Makro zu verwenden, erstellen Sie eine Aufgabenliste auf einer SharePoint-Website, erstellen Ein Projekt in Project Professional, und verwenden Sie dann die LinkToTaskList-Methode, um die Aufgabenliste zu importieren. Legen Sie eine Baseline für das aktive Projekt fest, indem Sie den Befehl Basisplan festlegen auf der Registerkarte PROJEKT des Menübands verwenden, und ändern Sie dann die Dauer einiger Vorgänge.

Das AddDurationColumns-Makro fügt der Liste der verfügbaren Spalten in der SharePoint-Aufgabenliste die Vorgangsdauer und die geplante Dauer hinzu (siehe Abbildung 1).

Hinweis

Nachdem Sie das Makro AddDurationColumns ausgeführt haben, müssen Sie das Projekt in Project Professional speichern, um Ihre Änderungen mit der SharePoint-Aufgabenliste zu synchronisieren.

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

Nachdem Sie das Projekt gespeichert haben, wechseln Sie zur Aufgabenliste in SharePoint. Wählen Sie auf der Registerkarte LISTE den Befehl Ansicht ändern aus. Wählen Sie auf der Seite Einstellungen – Ansicht bearbeiten das Feld Baselinedauer und das Feld Aktuelle Dauer aus, die das Makro AddDurationColumns hinzugefügt hat. Abbildung 1 zeigt die Aufgabenliste mit den beiden neuen Feldern.

Abbildung 1: Hinzufügen von Feldern zu einer synchronisierten SharePoint-Aufgabenliste

Hinzufügen von Feldern zu einer synchronisierten Aufgabenliste

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.