【发布时间】:2018-12-10 16:47:26
【问题描述】:
所以我在 Microsoft Excel 中有一个包含各种信息的时间线。我创建了一个我自己的自定义类型的数组,它读取了这些数据,但现在我需要将我的数组输出到 Project 中。
我的数组包含如下自定义数据类型:
输入自定义类型
- 摘要名称(子任务将在各自的摘要下 任务)
- 子任务数
- 另一个名为 TaskList() 的数组
这个名为 TaskList() 的数组将包含与任务数量一样多的子任务。 TaskList 中相应数组索引的所有子任务都属于相同的摘要名称,并且格式如下:
键入任务列表
- 子任务名称
- 开始日期
- 结束日期
鉴于我拥有所有必要的信息(姓名/摘要名称/开始和结束日期)并且能够在 VBA 中自动循环并将其放入 MS Project,我现在该怎么做?
非常感谢,
我的自定义结构:
Type TimelineInfo
taskName As String
dateStart As Date
dateEnd As Date
End Type
Type resourceSummary
beginningDate As Date
endingDate As Date
resourceName As String
numberOfTasks As Integer
taskList() As TimelineInfo
End Type
resourceSummary 将是摘要任务,taskList() 中的所有任务都位于相应资源摘要名称的下方。
我已经声明了这两个变量,
Dim timelineArray() As TimelineInfo
Dim groupsArray() As resourceSummary
groupsArray 的索引从 0 到 7,这意味着需要完成 8 个摘要任务,其中包含尽可能多的子任务。数组已经填满了数据,现在我只需要输出到项目中。
z = 1
For i = LBound(groupsArray) To UBound(groupsArray)
For j = 0 To (groupsArray(i).number - 1)
tempName = groupsArray(i).taskList(j).taskName
pj.Tasks.Add Name:=tempName, before:=z
pj.Tasks(z).Start = groupsArray(i).taskList(j).date
pj.Tasks(z).Finish = groupsArray(i).taskList(j).dateEnd
z = z + 1
Next j
Next i
然而,我上面的问题是我仍然需要创建摘要任务来将所有这些子任务放入其中。摘要任务将来自 resourceSummary 自定义数据类型,并将使用
beginningDate As Date
endingDate As Date
resourceName As String
【问题讨论】:
-
这个问题不应该被搁置,因为 OP 只漏掉了一小部分答案。
标签: vba ms-project