是否可以调用"等级全部"在ms-project中通过vba?

时间:2017-07-03 16:17:53

标签: vba ms-project

我正在使用Microsoft Project 2010专业版,我想知道是否可以:

问题

  1. 使用visual basic来调用" Level All"资源选项卡下的功能。
  2. 我为什么要这样?

    我想这样做,因为我们正在使用各种" cadence"在我们的项目中。因此,可以在4天或10天内完成相同的任务。现在,当" cadence"我们将不得不增加/减少日/夜班工作人员的数量,并将任务重新分配到白天或夜班。此任务必须手动完成。我显然希望自动化它。

    所以我想解决过度分配的任务和过去的截止日期"错误。因此需要获取指标列值。

    项目设置

    我正在使用2个日历:

    • " DayShift"每天早上6:30至下午2:30
    • " AfterDayBeforeNight"每天下午2:30至晚上10:30

    分配给两个资源: enter image description here

    代码:

    Dim t As Task       
    For Each t In Application.ActiveProject.Tasks
    Dim success As Boolean
    Dim r As Resource    
    success = Application.SelectRow(t.ID, False)    
    If success Then
    Dim posAJ As Integer
    Dim posAS As Integer        
    posAJ = InStr(t.ResourceNames, "A-J")
    posAS = InStr(t.ResourceNames, "A-S")
    If posAJ <> 0 Then
    Font32Ex CellColor:=62207
    End If
    If posAS <> 0 Then
    Font32Ex CellColor:=32207
    End If
    Dim warn As String
    warn = t.Warning
    End If
    Next
    

    感谢您的时间。

1 个答案:

答案 0 :(得分:1)

对于Q2:你可以从VBA打电话

LevelNow All:=True

请参阅https://msdn.microsoft.com/en-us/library/office/aa195121(v=office.11).aspx