Task.PathDrivenSuccessor 屬性 (Project)

取得一個值,指出當在 [工作路徑] 下拉式清單中選取 [DrivenSuccessors] 項目時,工作是否為所選工作所驅動的後續任務。 唯讀的 Boolean

語法

expressionPathDrivenSuccessor

運算式 代表 Task 物件的變數。

註解

Task.PathDrivenSuccessor 屬性與功能區上甘特圖工具底下的 [工作路徑] 下拉式清單上 [格式] 索引標籤上的 [驅動後續任務] 項目相關。 任務路徑主要是 Project 用戶端中的格式設定功能,其中甘特圖中任務的色彩會根據目前的工作選取範圍以及指定任務與選取範圍之間的關係而定。 在圖 1 中,在「任務路徑」下拉式清單中選取了「驅動前置任務」和「驅動後續任務」項目。 當您選取 T3 時,甘特圖會顯示 T1 是驅動前置任務,而 T4 是驅動後續任務。

圖 1: Using the task path properties to highlight tasks

使用工作路徑屬性來醒目提示工作 PathDrivenSuccessor 屬性的作用不像使用者介面中的 [驅動後續任務] 選取項目那樣。 相反地,當下列兩個條件都成立時,PathDrivenSuccessor 屬性為 True: () 工作是所選工作的驅動後續任務, (b) 工作路徑中已選取 [驅動後續任務] 項目。 您可以手動選取工作,或使用 VBA 選取工作,然後使用 VBA 檢查其他工作是否為所選工作的後續工作。 例如,如果您選取如圖 1 所示的第三個工作,且已在「工作路徑」中選取「驅動後續任務」項目,則下列陳述式會在 VBE 的「立即」視窗中列印 True

? ActiveProject.Tasks(4).PathDrivenSuccessor

不過,如果未選取 [驅動後續任務 ] 項目,則上一個陳述式會列印 False。 Project 沒有可以在 [任務路徑 ] 下拉式清單中設定項目的 VBA 方法。

範例

TestTaskPath 巨集會選取專案中的每個任務,然後依次使用四個任務路徑屬性來顯示其他任務與所選任務的關聯關係。

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

另請參閱

Task 物件

PathDrivingPredecessor 屬性PathPredecessor 屬性PathSuccessor 屬性

支援和意見反應

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