Task.PathPredecessor プロパティ (Project)

[タスク パス] ドロップダウン リストで [先行タスク] 項目が選択されている場合に、タスクが選択したタスクの先行タスクであるかどうかを示す値を取得します。 読み取り専用の Boolean です。

構文

PathPredecessor

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

注釈

Task.PathPredecessor プロパティは、[タスク パス] ドロップダウン リストの [書式] タブの [ガント チャート ツール] リボンの [先行タスク] 項目に関連しています。 タスク パスは主に Project クライアントの書式設定機能です。ガント チャートのタスクには、現在のタスクの選択と、指定したタスクと選択範囲の関係に依存する色があります。 図 1 では、[タスク パス] ドロップダウン リストで [先行タスクの駆動] 項目と [ドリブン 後続タスク] 項目が選択されています。 T3 を選択すると、ガント チャートに、T1 が先行タスクの駆動であり、T4 が駆動後続タスクであることが示されます。

図 1. タスクのパスのプロパティを使用してタスクを強調

タスク パスプロパティを使用してタスクを強調表示するPathPredecessor プロパティは、ユーザー インターフェイスの [先行タスク] の選択とは動作しません。 代わりに、PathPredecessor プロパティは、次の条件が true の場合は True です。(a) タスクは選択したタスクの先行タスクであり、(b) [タスク パス] で [先行タスク] 項目が選択されています。 タスクを手動で選択するか、VBA を使用してタスクを選択し、VBA を使用して、別のタスクが選択したタスクの先行タスクであるかどうかを確認できます。 たとえば、図 1 のように 3 番目のタスクを選択し、[タスク パス] で [先行タスク] 項目が選択されている場合、次のステートメントは VBE のイミディエイト ウィンドウで True を出力します。

? ActiveProject.Tasks(1).PathPredecessor

ただし、 先行 タスク項目が選択されていない場合、前のステートメントは False を出力します。 Project には、[ タスク パス ] ドロップダウン リストで項目を設定できる VBA メソッドがありません。

TestTaskPath マクロは、プロジェクト内の各タスクを選択し、次に 4 つのタスク パス プロパティを使用して、他のタスクと選択したタスクとの関係を示します。

Option Explicit

Sub TestTaskPath()
    Dim t As Task
    Dim chkTsk As Task
    Dim selectedTaskId As Integer
    
    For Each t In ActiveProject.Tasks
        selectedTaskId = t.ID
        Application.SelectRow Row:=selectedTaskId, RowRelative:=False
            
        If Not (ActiveSelection.Tasks Is Nothing) Then
            Debug.Print
            
            With ActiveSelection.Tasks(1)
                Debug.Print "Selected task ID " & .UniqueID & ", name: " & .Name
            End With
                        
            For Each chkTsk In ActiveProject.Tasks
                If Not (chkTsk.ID = selectedTaskId) Then
                    If chkTsk.PathPredecessor Then
                        Debug.Print vbTab & chkTsk.Name & ": PathPredecessor"
                    End If
                    If chkTsk.PathDrivingPredecessor Then
                        Debug.Print vbTab & chkTsk.Name & ": PathDrivingPredecessor"
                    End If
                    If chkTsk.PathSuccessor Then
                        Debug.Print vbTab & chkTsk.Name & ": PathSuccessor"
                    End If
                    If chkTsk.PathDrivenSuccessor Then
                        Debug.Print vbTab & chkTsk.Name & ": PathDrivenSuccessor"
                    End If
                End If
            Next chkTsk
        End If
    Next t
End Sub

図 1 のプロジェクトで、[タスク パス] で [先行タスク] 項目、[先行タスクの運転]、[後続タスク] 項目、および [ドリブン 後続タスク] 項目がすべて選択されている場合、TestTaskPath マクロには次の出力があります。

Selected task ID 1, name: T1
    T2: PathSuccessor
    T2: PathDrivenSuccessor
    T3: PathSuccessor
    T3: PathDrivenSuccessor
    T4: PathSuccessor
    T4: PathDrivenSuccessor

Selected task ID 2, name: T2
    T1: PathPredecessor
    T1: PathDrivingPredecessor

Selected task ID 3, name: T3
    T1: PathPredecessor
    T1: PathDrivingPredecessor
    T4: PathSuccessor
    T4: PathDrivenSuccessor

Selected task ID 4, name: T4
    T1: PathPredecessor
    T1: PathDrivingPredecessor
    T3: PathPredecessor
    T3: PathDrivingPredecessor

プロパティ値

VARIANT

関連項目

タスク オブジェクト

PathDrivingPredecessor プロパティPathDrivenSuccessor プロパティPathSuccessor プロパティ

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。