我目前正在研究将产品需求导入 Microsoft Project 的 VBA 宏。
我使用以下代码添加/更新任务:
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
这里发生了什么?
请帮忙!