none
Метод TimeScaleData в Project RRS feed

  • Вопрос

  •  

    MS Proejct. VBA. Пытаюсь использовать метод TimeScaleData для расчета базового плана на ресурс. По полю Плановая трудоемкость (Work) работает, по полю Базовая трудоемкость (BaseLineWork) не хочет...

    Вот, что мне нужно:

        Dim TSV As TimeScaleValues, HowMany As Long
        Dim HoursPerDay As String

        Set 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 (базовая трудоемкость). Не могу понять в чем дело Sad

    13 марта 2008 г. 15:03

Ответы

  • У меня нижеприведенный пример, при условии наличия базового плана, прекрасно работает:

     

    Code Snippet

    Sub WorkHoursPerDay()
        Dim TSV As TimeScaleValues, HowMany As Long
        Dim HoursPerDay As String

        Set 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 HowMany

        MsgBox HoursPerDay

    End Sub

     

     

     

     

    Попробуйте охватить больший диапазон с запасом и проанализировать необходимую дату ...

    14 марта 2008 г. 19:05

Все ответы

  • У меня нижеприведенный пример, при условии наличия базового плана, прекрасно работает:

     

    Code Snippet

    Sub WorkHoursPerDay()
        Dim TSV As TimeScaleValues, HowMany As Long
        Dim HoursPerDay As String

        Set 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 HowMany

        MsgBox HoursPerDay

    End Sub

     

     

     

     

    Попробуйте охватить больший диапазон с запасом и проанализировать необходимую дату ...

    14 марта 2008 г. 19:05
  •  

    Спасибо за ответ! Проблема оказалась в том, что проверяя базовый план, я смотрела на наличие базовых трудозатрат у задач (в то время как по ресурсам они у меня не были сохранены)
    17 марта 2008 г. 7:11