Task.PathSuccessor 属性 (Project)

获取一个值,该值指示在“任务路径”下拉列表中选择“ 后续任务 ”项时, 该任务 是否为所选任务的后续任务。 只读 Boolean

语法

expressionPathSuccessor

表达 一个代表 Task 对象的变量。

备注

Task.PathSuccessor 属性与功能区上“GANTT CHART TOOLS”下的“任务路径”下拉列表中“格式”选项卡上的“后续项”项相关。 任务路径主要是 Project 客户端中的一项格式设置功能,其中甘特图中的任务的颜色取决于当前任务选择以及指定任务与选定内容的关系。 在图 1 中,在“任务路径”下拉列表中选择了“驱动前置任务”和“驱动继任者”项。 选择 T3 时,甘特图显示 T1 是驱动前置任务,T4 是驱动后续任务。

图 1. 使用任务路径属性突出显示任务

使用任务路径属性突出显示任务PathSuccessor 属性与用户界面中的后续选择不一样。 相反,当满足以下条件时,PathSuccessor 属性为 True: () 该任务是所选任务的后续任务, (b) 任务路径中选择后续任务项。 可以手动选择任务或使用 VBA 选择任务,然后使用 VBA 检查另一个任务是否是所选任务的后续任务。 例如,如果选择如图 1 所示的第三个任务,并在“任务路径”中选择了“后续任务”项,则以下语句在 VBE 的“即时”窗口中打印为 True

? ActiveProject.Tasks(4).PathSuccessor

但是,如果未选择 “后续项 ”,则前面的语句将打印 为 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

另请参阅

任务对象

PathDrivingPredecessor 属性PathPredecessor 属性PathDrivenSuccessor 属性

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。