Лучший отвечающий
Метод TimeScaleData в Project

Вопрос
-
MS Proejct. VBA. Пытаюсь использовать метод TimeScaleData для расчета базового плана на ресурс. По полю Плановая трудоемкость (Work) работает, по полю Базовая трудоемкость (BaseLineWork) не хочет...
Вот, что мне нужно:
Dim TSV As TimeScaleValues, HowMany As Long
Dim HoursPerDay As StringSet TSV = ActiveCell.Resource.TimeScaleData("11/2/08", "11/02/08", _
Type:=pjResourceTimescaledBaselineWork, TimescaleUnit:=pjTimescaleDays)For HowMany = 1 To TSV.Count
If TSV(HowMany).Value = "" Then
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & _
TSV(HowMany).EndDate & ": 0 hours" & vbCrLf
Else
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & _
TSV(HowMany).EndDate & ": " & TSV(HowMany).Value / 60 & _
" hours" & vbCrLf
End If
Next HowManyС выделенным типом работать не хочет (возвращает 0, хотя базовый план есть)
Пример взят из хелпа и изменен параметр type с pjResourceTimescaledWork (плановая трудоемкость) на pjResourceTimescaledBaselineWork (базовая трудоемкость). Не могу понять в чем дело
13 марта 2008 г. 15:03
Ответы
-
У меня нижеприведенный пример, при условии наличия базового плана, прекрасно работает:
Code SnippetSub WorkHoursPerDay()
Dim TSV As TimeScaleValues, HowMany As Long
Dim HoursPerDay As StringSet TSV = ActiveCell.Resource.TimeScaleData("01-03-2008", "31-03-2008", pjResourceTimescaledBaselineWork, pjTimescaleDays)
For HowMany = 1 To TSV.Count
If TSV(HowMany).Value = "" Then
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & TSV(HowMany).EndDate & ": 0 hours" & vbCrLf
Else
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & TSV(HowMany).EndDate & ": " & TSV(HowMany).Value / 60 & " hours" & vbCrLf
End If
Next HowManyMsgBox HoursPerDay
End Sub
Попробуйте охватить больший диапазон с запасом и проанализировать необходимую дату ...
14 марта 2008 г. 19:05
Все ответы
-
У меня нижеприведенный пример, при условии наличия базового плана, прекрасно работает:
Code SnippetSub WorkHoursPerDay()
Dim TSV As TimeScaleValues, HowMany As Long
Dim HoursPerDay As StringSet TSV = ActiveCell.Resource.TimeScaleData("01-03-2008", "31-03-2008", pjResourceTimescaledBaselineWork, pjTimescaleDays)
For HowMany = 1 To TSV.Count
If TSV(HowMany).Value = "" Then
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & TSV(HowMany).EndDate & ": 0 hours" & vbCrLf
Else
HoursPerDay = HoursPerDay & TSV(HowMany).StartDate & " - " & TSV(HowMany).EndDate & ": " & TSV(HowMany).Value / 60 & " hours" & vbCrLf
End If
Next HowManyMsgBox HoursPerDay
End Sub
Попробуйте охватить больший диапазон с запасом и проанализировать необходимую дату ...
14 марта 2008 г. 19:05 -
17 марта 2008 г. 7:11