应用于项目任务之前,请检查资源的可用性VBA MS Project

时间:2018-10-15 05:49:57

标签: vba ms-project

我正在使用VBA根据举行会话的位置,房间的容量和房间的可用性,将资源(房间)分配给MS Project中的任务。我被困在房间可用性部分。我认为必须有某种方法可以挂钩Resource对象的可用性属性,以便快速确定Resource是否已应用于另一个任务。

欢呼

paths

1 个答案:

答案 0 :(得分:0)

使用Resource对象的TimeScaleData方法返回一个TimeScaleValues对象,该对象可用于确定给定时间段内已分配给该资源的工作量(例如,任务)。例如:

Dim tsvs As TimeScaleValues
Set tsvs = R.TimeScaleData(T.Start, T.Finish, pjResourceTimescaledWork, pjTimescaleYears)
If tsvs(1).Value = 0 Then
    T.ResourceNames = R.Name
    ' exit loop now that room is assigned
End If

请注意,此处使用的单位为pjTimescaleYears,以便在任务期间将资源的全部工作汇总为一个值(除非任务跨度超过一年)。如果您使用默认的pjTimescaleDays并且任务跨度超过一天,则tsvs将有多个元素需要检查。