如何使用VBA筛选时间线中的MS Project任务
我正在尝试筛选Project 2013文件中的任务,方法是只选择标有“在时间线上显示”复选框的任务。 我使用VBA进行过滤,但我的loopreturn中的每个任务都返回taskontTimeLine=True 甚至只有12个任务(190个任务中)被标记为这样 这是我正在使用的代码:如何使用VBA筛选时间线中的MS Project任务,vba,timeline,ms-project,Vba,Timeline,Ms Project,我正在尝试筛选Project 2013文件中的任务,方法是只选择标有“在时间线上显示”复选框的任务。 我使用VBA进行过滤,但我的loopreturn中的每个任务都返回taskontTimeLine=True 甚至只有12个任务(190个任务中)被标记为这样 这是我正在使用的代码: Set appProj = CreateObject("Msproject.Application") appProj.FileOpen GanttPath Set GNT = appProj.ActiveProje
Set appProj = CreateObject("Msproject.Application")
appProj.FileOpen GanttPath
Set GNT = appProj.ActiveProject
appProj.Visible = True
For Each iTask In GNT.Tasks
If TaskOntimeline Then
G1 = iTask.name
G2 = iTask.ID
G3 = iTask.UniqueID
G4 = iTask.Start
G5 = iTask.Finish
End if
Next
appProj.FileCloseEx
appProj.Quit
我将把这些值放入数组中,以便进一步处理和显示
为什么所有任务都返回相同的值?
我应该做得更好,以便它能够准确过滤
关于,您放置过滤器的代码在哪里?过滤器将进入每个任务的For循环,其中TaskOnTimeline为True。目前,任何任务都会返回真值。如果使用
If TaskOnTimeline,则它会将任务添加到时间线中。在网上到处找,想不出一个办法来“欺骗”这个,但…好吧,那个么我怎么才能得到任务的“在时间线上显示”价值呢?有没有办法获得这些信息?仍然在寻找创造性的方法,到目前为止只能添加任务或从时间表中删除任务,而不能获得价值