Итак, у меня есть временная шкала в Microsoft Excel, которая содержит различную информацию. Я создал массив своего собственного пользовательского типа, который читает эти данные, но теперь мне нужно вывести мой массив в Project.
Мой массив состоит из пользовательского типа данных следующим образом:
Тип нестандартный
- Сводное имя (Подзадача будет идти под их соответствующим резюме
задача)
- Количество подзадач
- Другой массив с именем TaskList ()
Этот массив с именем TaskList () будет содержать столько же подзадач, сколько и количество задач. Все подзадачи в TaskList для соответствующего индекса массива принадлежат одному и тому же итоговому имени и будут иметь следующий формат:
Тип taskList
- Имя подзадачи
- startDate
- ENDDATE
Как бы я поступил сейчас, если бы у меня была вся необходимая информация (имя / итоговое имя / даты начала и окончания), и я был бы способен в 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