是否有可能在ms-project中通过vba调用“level all”?
问题描述:
我使用Microsoft Project 2010专业,我想知道是否有可能:
问题是否有可能在ms-project中通过vba调用“level all”?
- 使用Visual Basic调用资源标签下的“级别全部”功能。
为什么我要那样?
我想这样做是因为我们在我们的项目中使用了各种“节奏”。因此,相同的任务可以在4天或10天内完成。现在,当“节奏”发生这种变化时,我们将不得不增加/减少从事白天/夜班工作的员工数量,并将任务重新分配到白天或夜班。这个任务必须手动完成。我显然希望自动化它。
所以我想解决过时的任务和“过去的截止日期”的错误。因此需要获取指标列值。
项目设置
我使用2个日历:
-
从6:30 AM
- “DayShift” 每天下午2:30 从2:30 PM
- “AfterDayBeforeNight” 天天至10:30 PM
代码:
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
谢谢您的时间。
答
对于Q2:您可以从VBA
LevelNow All:=True
呼叫请参阅https://msdn.microsoft.com/en-us/library/office/aa195121(v=office.11).aspx
这正是我一直在寻找!我会编辑我的问题,以便将答案标记为“答案”,我会问问第一个问题。 – TinkeringMatt