次の方法で共有


Task.PathSuccessor プロパティ (Project)

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

構文

PathSuccessor

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

注釈

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

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

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

? ActiveProject.Tasks(4).PathSuccessor

ただし、 後続 アイテムが選択されていない場合、前のステートメントは 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 プロパティPathPredecessor プロパティPathDrivenSuccessor プロパティ

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

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