アクティブなプロジェクトの同期済み SharePoint サイトのタスク リストで使用可能になる列を追加します。
構文
式。AddSiteColumn (ProjectField、 SharePointName)
expressionApplication オブジェクトを 表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| ProjectField | 省略可能 | PjField | 新しい列に表示するプロジェクト フィールドを指定する PjField 列挙型の定数のサブセットの 1 つにすることができます。禁止フィールドの 1 つにすることはできません (「解説」を参照)。 |
| SharePointName | 省略可能 | バリアント型 (Variant) | 新しい列の名前。 |
戻り値
ブール型 (Boolean)
列が追加される場合は true。
注釈
以下の場合、 AddSiteColumn メソッドにより実行時エラー 1004、「アプリケーション定義またはオブジェクト定義のエラー」が発生します。
アクティブなプロジェクトは、同期された SharePoint タスク リストに関連付けられていません。 プロジェクトがローカルの場合は、 LinkToTaskList メソッドを使用して同期された SharePoint タスク リストを作成できます。
列名は SharePoint タスク リストに既に存在します。 列名の一覧を表示するには、SharePoint でタスク リストを開き、[リスト] タブの [ビューの変更] を選択します。[設定] > [ビューの編集] ページには、タスク リストで使用できるすべての列名が表示されます。
ProjectField の値が、pjResourceActualCost などの非タスク フィールドである。 SharePoint タスク リストには、リソース フィールドではなくタスク フィールドが表示されます。
ProjectField 値は、pjTaskEnterpriseProjectText1 などのエンタープライズ カスタム フィールド、またはルックアップ テーブル フィールド (pjTaskResourceEnterpriseRBS) です。 pjTaskText1 などのローカル タスクのカスタム フィールドは有効です。
ProjectField 値は、表 1 で禁止されているフィールドの 1 つです。 これらのフィールドは、禁止されたリソース フィールドとエンタープライズ カスタム フィールドに追加されます。 これらのフィールドは、他の禁止フィールドに関連しているか、既定の SharePoint タスク リストでサポートされていない値の種類を持つため、禁止されています。
次の表に示す禁止フィールドは長いリストのように見えますが、 PjField の 1,338 個の定数のうち、 AddSiteColumn メソッドで使用できる定数は 357 個あります (ローカル タスクのカスタム フィールドを含めます)。
追加の禁止フィールド
| フィールド | フィールド | フィールド |
|---|---|---|
| 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 Professional でプロジェクトを作成してから、LinkToTaskList メソッドを使用してタスク リストをインポートします。 リボンの [プロジェクト] タブの [ベースラインの設定] を使用してアクティブなプロジェクトのベースラインを設定し、一部のタスクの期間を変更します。
AddDurationColumns マクロは、SharePoint タスク リスト内の利用可能な列の一覧に、タスク期間とベースライン期間を追加します (図 1 を参照)。
注:
AddDurationColumns マクロを実行した後、Project Professional でプロジェクトを保存して、変更を 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 は、2 つの新しいフィールドを含むタスク リストを示しています。
図 1. 同期された SharePoint タスク リストへのフィールドの追加
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。