Application.AddSiteColumn - метод (Project)

Добавляет столбец, который становится доступным для списка задач на синхронизированном сайте SharePoint для активного проекта.

Синтаксис

выражение. AddSiteColumn (ProjectField, SharePointName)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
ProjectField Необязательный PjField Может быть одной из подмножества констант в перечислении PjField , которое определяет поле проекта, отображаемое в новом столбце; не может быть одним из запрещенных полей (см. Замечания).
SharePointName Необязательный Variant Имя нового столбца.

Возвращаемое значение

Boolean

Значение true , если столбец добавлен.

Примечания

Метод AddSiteColumn выдает ошибку выполнения 1004 "Ошибка, определенная приложением или объектом", в следующих случаях:

  • Активный проект не связан с синхронизированным списком задач SharePoint. Если проект является локальным, можно использовать метод LinkToTaskList для создания синхронизированного списка задач SharePoint.

  • Имя столбца в списке задач SharePoint уже существует. Чтобы просмотреть список имен столбцов, откройте список задач в SharePoint и на вкладке "СПИСОК" выберите команду "Изменить представление". На странице изменения режима параметров > отображаются все имена столбцов, доступные для списка задач.

  • Значение ProjectField не относится к задаче, например pjResourceActualCost. В списке задач SharePoint отображаются поля задач, а не поля ресурсов.

  • Значение ProjectField является настраиваемым корпоративным полем, например pjTaskEnterpriseProjectText1, или полем таблицы подстановки, таким как pjTaskResourceEnterpriseRBS. Допустимые настраиваемые поля локальных задач, такие как pjTaskText1.

  • Значение ProjectField является одним из запрещенных полей в таблице 1. Эти поля являются дополнением к запрещенным полям ресурсов и настраиваемым полям предприятия. Эти поля запрещены, так как связаны с другими запрещенными полями или имеют типы значений, которые не поддерживаются в стандартном списке задач SharePoint.

Хотя запрещенные поля, показанные в следующей таблице, могут показаться длинным списком, из 1 338 констант в PjField 357, включая локальные настраиваемые поля задач, можно использовать с методом AddSiteColumn .

Дополнительные запрещенные поля

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 pjTaskPathDrivingPreceding pjTaskPathPredecessor
pjTaskPathSuccessor pjTaskPreleveledFinish pjTaskPreleveledStart
pjTaskPriority pjTaskResourceType pjTaskStartSlack
pjTaskStatus pjTaskStatusIndicator pjTaskSubproject
pjTaskSubprojectReadOnly pjTaskTotalSlack pjTaskType
pjTaskWarning pjTaskWorkContour

Можно добавить поле, которое уже существует в списке задач, если использовать уникальное имя для параметра SharePointName , хотя смысл такого создания вызывает сомнения.

Пример

Чтобы использовать макрос AddDurationColumns, создайте список задач на сайте SharePoint, создайте проект в Project профессиональный, а затем используйте метод LinkToTaskList для импорта списка задач. Установите базовый план для активного проекта с помощью команды "Задать базовый план " на вкладке "PROJECT " ленты, а затем измените длительность некоторых задач.

Макрос AddDurationColumns добавляет длительность задачи и длительность базового плана в список доступных столбцов в списке задач SharePoint (см. рис. 1).

Примечание.

После запуска макроса AddDurationColumns необходимо сохранить проект в Project профессиональный, чтобы синхронизировать изменения со списком задач 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

После сохранения проекта перейдите к списку задач в SharePoint. На вкладке LIST выберите команду "Изменить представление ". На странице "Параметры - изменение представления" выберите поля длительности базового плана и текущую длительность , добавленные макросом AddDurationColumns . На рисунке 1 показан список задач с двумя новыми полями.

Рис. 1. Добавление полей в синхронизированный список задач SharePoint

Добавление полей в список синхронизированных задач

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.