新增一個欄位,讓該活動專案的任務清單在同步的 SharePoint 網站上可用。
語法
表情。AddSiteColumn (ProjectField, SharePointName)
expression 代表 Application 物件的變數。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| 專案現場 | 選用 | PjField | 可以是 PjField 列舉中常數子集之一,該列指定新欄位中要顯示的專案欄位;不可能是禁止領域之一 (詳見備註) 。 |
| SharePointName | 選用 | Variant | 新專欄的名字。 |
傳回值
布林值
如果欄位被加入,則為真。
註解
AddSiteColumn 方法在以下情況下會產生執行時錯誤 1004,「應用程式定義或物件定義錯誤」:
該活躍專案並未與同步的 SharePoint 任務清單相關聯。 如果專案是本地的,你可以使用 LinkToTaskList 方法建立同步的 SharePoint 任務清單。
欄位名稱已經存在於 SharePoint 的任務清單中。 要查看欄位名稱清單,請在 SharePoint 開啟任務清單,然後在 LIST 標籤中選擇修改檢視。設定>編輯檢視頁面顯示任務清單中所有可用的欄位名稱。
ProjectField 值為非任務欄位,例如 pjResourceActualCost。 SharePoint 任務清單顯示的是任務欄位,而非資源欄位。
ProjectField 值是企業自訂欄位,例如 pjTaskEnterpriseProjectText1,或是查詢表欄位,例如 pjTaskResourceEnterpriseRBS。 本地任務自訂欄位,例如 pjTaskText1,是有效的。
ProjectField 值是表 1 中禁止的欄位之一。 這些欄位是除了禁止的資源欄位和企業自訂欄位之外的。 這些欄位被禁止,因為它們與其他禁止欄位相關,或其值型別在預設的 SharePoint 任務清單中不被支援。
雖然下表中禁止的欄位看似冗長,但在 PjField 的 1,338 個常數中,有 357 個(包括本地任務自訂欄位)可搭配 AddSiteColumn 方法使用。
其他禁止領域
| 欄位 | 欄位 | 欄位 |
|---|---|---|
| pjTaskActive | pjTaskActualOvertimeWork | pjTaskACWP |
| pjTaskAssignmentDelay | pjTaskAssignment PeakUnits | pjTaskAssignmentUnits |
| pjTaskBaseline[1-10]預算成本 | pjTaskBaseline[1-10]預算工作 | pjTaskBaseline[1-10]固定成本累積 |
| pjTaskBaselineBudgetCost | pj任務Baseline預算工作 | 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 方法匯入任務清單。 透過功能區的 PROJECT 標籤上的 Set Baseline 指令,為活動中的專案設定基線,然後調整部分任務的持續時間。
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 支援與意見反應。