Метод 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 и обратная связь.