В настоящее время я работаю над макросом VBA, импортирующим требования к продукту в Microsoft Project.
Я использую следующий код для добавления / обновления задачи:
Function AddTask(strText As String, lngDuration As Long, taskParent As Task)
Dim oldTask As Task
Set oldTask = taskParent.OutlineChildren(strText)
If oldTask Is Nothing Then
Dim newTask As Task
Set newTask = taskParent.OutlineChildren.Add(Name:=strText, Before:=LastIndexOf(taskParent) + 1)
newTask.OutlineLevel = taskParent.OutlineLevel + 1
newTask.Duration = lngDuration
Set AddTask = newTask
Else
oldTask.Duration = lngDuration
Set AddTask = oldTask
End If
End Function
Это отлично работает для новой задачи, но, к сожалению, я получаю странную ошибку при попытке обновить свойство Duration встарое задание.
Run-Time Error '1101'
Argument value is not valid
Я действительно не понимаю, в чем разница между
newTask.Duration = lngDuration
и
oldTask.Duration = lngDuration
Что здесь происходит?
Пожалуйста, помогите!