共用方式為


Task.PathDrivingPredecessor 屬性 (Project)

取得值,指出當 [任務路徑] 下拉式清單中選取 [ 驅動前 置任務] 專案時, 任務 是否為驅動所選任務的前置任務。 唯讀的 Boolean

語法

expressionPathDrivingPredecessor

表達 代表 Task 物件的變數。

註解

Task.PathDrivingPredecessor屬性與功能區上[甘特圖工具] 下方 [格式] 索引標籤上 [任務路徑] 下拉式清單上的 [驅動前置任務] 專案相關。 工作路徑主要是 Project 用戶端中的格式化功能,其中甘特圖中的任務具有相依于目前任務選取範圍的色彩,以及指定任務與選取範圍的關聯性。 在圖 1 中,[任務路徑] 下拉式清單中會選取 [驅動前置任務] 和 [驅動後置任務] 專案。 當您選取 T3時,甘特圖會顯示 T1 是推動前置任務,而 T4 是驅動的後續任務。

圖 1: Using the task path properties to highlight tasks

使用工作路徑屬性反白顯示工作PathDrivingPredecessor屬性的運作方式與使用者介面中的[驅動前置任務] 選取專案不一樣。 相反地,當下列條件的第一個條件成立時,PathDrivingPredecessor屬性為True: () 任務是所選任務的驅動前置任務, (b) 任務路徑中選取[駕駛前置任務] 專案。 您可以手動選取工作,或使用 VBA 來選取工作,然後使用 VBA 來檢查另一項工作是否為所選任務的驅動前置任務。 例如,如果您在圖 1 中選取第三個工作,並在 [工作路徑] 中選取 [驅動前置任務] 專案,則下列語句會在 VBE 的 [即時運算] 視窗中列印True

? ActiveProject.Tasks(1).PathDrivingPredecessor

不過,如果未選取 [ 驅動前置 任務] 專案,則先前的語句會列印 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 物件

PathDrivenSuccessor 屬性PathPredecessor 屬性PathSuccessor 屬性

支援和意見反應

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