MS-PROJECT 如何正确应用 Application.AddNewColumn 方法?

MS-PROJECT how do I apply Application.AddNewColumn method correctly?

我想在开始时使用我的代码使一列(摘要)可见,以从此数据中检索并在代码末尾再次关闭它。 在我的代码中。 到目前为止,在我的代码中,必须始终显示列摘要才能正常工作,但我不想这样做。 这就是为什么我想在开头显示列并在结尾隐藏它

Sub BalkenFormatieren()

    Dim Inhalt, Trennzeichen As String
    Dim i, Werte As Integer
    Dim ArrDaten(0 To 248, 0 To 248) As Double
    Dim OriginalTaskID As Long
    Dim Tsk As Task
    Dim LastTaskRow As Long


    LastTaskRow = ActiveProject.Tasks.Count
    Trennzeichen = "_"



    'Von - Bis Spalten
    For i = 0 To LastTaskRow - 1

        'definiere Zeile mit schleife
        SelectTaskField Row:=i + 1, Column:="Summary", RowRelative:=False
        Inhalt = ActiveCell

        'Wenn Zelle = Ja dann Fromatieren
        If Inhalt = "Yes" Then
            GanttBarFormatEx MiddleShape:=5, righttext:="text29"
        End If

    Next i
End Sub

要向甘特图 table 添加或删除列,请使用 TableEditEx method as shown in this SO post: and


但是有更好的方法来获取任务的属性。

您不需要添加列来获取活动任务的属性。使用 Task property of the ActiveCell.

For i = 0 To LastTaskRow - 1

    SelectRow Row:=i + 1, RowRelative:=False

    If ActiveCell.Task.Summary Then
        GanttBarFormatEx MiddleShape:=5, righttext:="text29"
    End If

Next i

请注意,这使用了 SelectRow 方法,该方法有一个名为 RowRelative 的参数。当像这样遍历所有任务时,最好将该参数设置为 False 并将 Row 参数设置为您想要的绝对位置;否则RowRelative默认为True并且选择位置从当前选择向前移动,而不是第一个任务