Метод Application.AddSiteColumn (Project)

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

Синтаксис

expression. 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 по умолчанию.

Хотя запрещенные поля, показанные в следующей таблице, могут показаться длинным списком, из 1338 констант в 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 pjTaskPathDrivingPredecessor pjTaskPathPredecessor
pjTaskPathSuccessor pjTaskPreleveledFinish pjTaskPreleveledStart
pjTaskPriority pjTaskResourceType pjTaskStartSlack
pjTaskStatus pjTaskStatusIndicator pjTaskSubproject
pjTaskSubprojectReadOnly pjTaskTotalSlack pjTaskType
pjTaskWarning pjTaskWorkContour

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

Пример

Чтобы использовать макрос AddDurationColumns, создайте список задач на сайте SharePoint, создайте проект в Project профессиональный, а затем используйте метод LinkToTaskList для импорта списка задач. Задайте базовый план для активного проекта с помощью команды Задать базовый план на вкладке ПРОЕКТ ленты, а затем измените длительность некоторых задач.

Макрос 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. На вкладке СПИСОК выберите команду Изменить представление . На странице Параметры — изменение представления выберите поля Базовая длительность и Текущая длительность , добавленные макросом AddDurationColumns . На рисунке 1 показан список задач с двумя новыми полями.

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

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

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

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