我想在开头使用我的代码显示一列(摘要(,以便从此数据中检索并在代码末尾再次关闭它。在我的代码中。到目前为止,在我的代码中,必须始终显示列摘要才能正常工作,但我不想这样做。这就是为什么我想在开头显示列并在末尾隐藏它
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
要在甘特图表中添加或删除列,请使用 TableEditEx 方法,如这篇 SO 帖子所示:如何在Microsoft项目中添加新列...以及如何添加列...到 MS 项目。
但是有一种更好的方法来获取任务的属性。
您无需添加列即可获取活动任务的属性。使用 ActiveCell 的 Task 属性。
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
,并且选择位置从当前选择向前移动,而不是第一个任务。