Vba 循环浏览“中的项目”;“酒吧风格”;,阅读项目

Vba 循环浏览“中的项目”;“酒吧风格”;,阅读项目,vba,ms-office,ms-project,Vba,Ms Office,Ms Project,我基本上感兴趣的是检查用户是否在其活动视图中显示任何基线,如果是,是哪一个基线。 例如,如果在活动视图的条形图样式中使用“Baseline1 Start”,我会找到匹配的项目编号 如果我能够循环浏览每个条形样式项,例如内置的列表MS Project在“条形样式”下显示列表,这将解决我的问题 我尝试过使用GantBareditex方法,但正如文档所解释的,它只返回布尔值 例如,如果我想删除一个项目,此代码将执行以下操作: GanttBarStyleDelete Item:="41" 我的问题是我

我基本上感兴趣的是检查用户是否在其活动视图中显示任何基线,如果是,是哪一个基线。 例如,如果在活动视图的条形图样式中使用“Baseline1 Start”,我会找到匹配的项目编号

如果我能够循环浏览每个条形样式项,例如内置的列表MS Project在“条形样式”下显示列表,这将解决我的问题

我尝试过使用GantBareditex方法,但正如文档所解释的,它只返回布尔值

例如,如果我想删除一个项目,此代码将执行以下操作:

GanttBarStyleDelete Item:="41"
我的问题是我不知道我在找什么东西。我不知道如何读取有关以下项的数据:=“41”

此代码不起作用,但说明了我想要的:

For i = 1 to 200
  if GanttBarEditEx(item:=i, from:"Baseline1 start") = True Then MsgBox i
Next
我能够使用相同的逻辑计算出项目数,当item=I返回错误时,这意味着没有这样的项目,我找到了max。这就是我得到的结果

还有一个GantBarStyleBaseline代码,可能会有所帮助! 如果无法列出项目,我可能可以编写一个代码,将每个基线设置为false,然后检查是否对活动视图进行了更改,从而找到显示的活动基线…帮助


更新:我注意到
BarBoxStyles
打开了“BarStyles”窗口。但我猜这不能变成循环的集合。

我对MS Project不太了解,但应该有这些对象的
集合,可能作为页面/视图的成员。有了这个,你可以使用
来。。。每个
循环。我同意,需要一个集合。但是在将“activeproject”设置为Variant并在Locals窗口中滚动所有存储的信息之后,我似乎找不到一个匹配的集合来存储我要查找的信息。最接近我(我认为)的是ViewsSingle系列。但是我们还没有弄明白,yetYes,MS项目中缺少API。正如您所发现的,条形图样式可以编辑,但不能查询。我对MS Project不太了解,但应该有这些对象的
集合,可能作为页面/视图的成员。有了这个,你可以使用
来。。。每个
循环。我同意,需要一个集合。但是在将“activeproject”设置为Variant并在Locals窗口中滚动所有存储的信息之后,我似乎找不到一个匹配的集合来存储我要查找的信息。最接近我(我认为)的是ViewsSingle系列。但是我们还没有弄明白,yetYes,MS项目中缺少API。正如您所发现的,条形图样式可以编辑,但不能查询。