次の方法で共有


Application.AddSiteColumn メソッド (Project)

アクティブなプロジェクトの同期済み SharePoint サイトのタスク リストで使用できる列を追加します。

構文

AddSiteColumn (ProjectFieldSharePointName)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
ProjectField 省略可能 PjField PjField 列挙の定数のサブセットの 1 つを指定できます。これは、新しい列に表示するプロジェクト フィールドを指定します。は禁止フィールドの 1 つにすることはできません (「備考」を参照してください)。
SharePointName オプション バリアント型 新しい列の名前。

戻り値

ブール型 (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 のサポートおよびフィードバックを参照してください。