共用方式為


Project) (Application.AddSiteColumn 方法

針對使用中專案的已同步 SharePoint 網站,新增可供工作清單使用的資料行。

語法

運算式AddSiteColumn (ProjectFieldSharePointName)

expression 代表 Application 物件的變數。

參數

名稱 必要/選用 資料類型 描述
ProjectField 選用 PjField Can be one of a subset of constants in the PjField enumeration, which specifies the project field to show in the new column; cannot be one of the prohibited fields (see Remarks).
SharePointName 選用 Variant 新資料行的名稱。

傳回值

布林值

如果 加入資料行,則為 True。

註解

在下列情況下 ,AddSiteColumn 方法會提供執行階段錯誤 1004「應用程式定義或物件定義錯誤」:

  • 使用中的專案未與同步處理的 SharePoint 工作清單相關聯。 如果專案是本機專案,您可以使用 LinkToTaskList 方法來建立同步處理的 SharePoint 工作清單。

  • 資料行名稱已經存在於 SharePoint 工作清單中。 若要查看資料行名稱清單,請在 SharePoint 中開啟工作清單,然後選擇[清單] 索引標籤上的 [修改檢視]。[設定 > 編輯檢視]頁面會顯示工作清單可用的所有資料行名稱。

  • ProjectField值是非任務欄位,例如pjResourceActualCost。 SharePoint 工作清單會顯示工作欄位,而非資源欄位。

  • ProjectField值是企業自訂欄位,例如pjTaskEnterpriseProjectText1或查閱表格欄位,例如pjTaskResourceEnterpriseRBS。 本機工作自訂欄位,例如 pjTaskText1是有效的。

  • ProjectField值是表格 1 中禁止的其中一個欄位。 除了禁止的資源欄位和企業自訂欄位之外,還有這些欄位。 禁止欄位,因為它們與其他禁止的欄位相關,或具有預設 SharePoint 工作清單中不支援的實值型別。

雖然下表中顯示的禁止欄位可能看起來是完整清單,在 PjField中的 1,338 個常數中,有 357 個可以與 AddSiteColumn 方法搭配使用的本機工作自訂欄位。

其他禁止的欄位

欄位 欄位 欄位
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 工作清單

Adding fields to a synchronized tasks list

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應