|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 24.1 Программное создание проекта и его элементовПрограммное создание проекта и его элементов средствами VBA Задание:Вам необходимо создать макрос, который программно создает проект "Забор" в файле Забор.mpp со следующими параметрами:
Решение:Код макроса, который можно запустить из Project, может быть таким: Public Sub CreateProject() Dim oProject As Project Dim oTask As Task Dim oRes, oResMaterial As Resource Dim sID As String Dim oA As Assignment
'Создаем новый проект Set oProject = Application.Projects.Add()
'Создаем первую задачу и определяем дату начала и продолжительность Set oTask = oProject . Tasks . Add ("Вкапывание столбов") Application.SetTaskField "Начало", Date, False, False, oTask.ID Application.SetTaskField "Длительность", "2д", False, False, oTask.ID
'Создаем трудовой ресурс и настраиваем его свойства Set oRes = oProject.Resources.Add("Иванов Иван") oRes.Type = pjResourceTypeWork oRes.StandardRate = 100
'Производим назначение ресурса задаче oTask.Assignments.Add oTask.ID, oRes.ID
'Сохраняем идентификатор задачи — он потребуется, 'чтобы потом указать эту задачу как предшественницу sID = oTask . ID
'Создаем вторую задачу и второй трудовой ресурс Set oTask = oProject.Tasks.Add(" Прибивание досок ") oTask.Predecessors = sID Application.SetTaskField "Длительность", "2д", False, False, oTask.ID
Set oRes = oProject.Resources.Add("Петров Петр") oRes.Type = pjResourceTypeWork oRes.StandardRate = 150
'Создаем материальный ресурс и настраиваем его свойства Set oResMaterial = oProject.Resources.Add("Пиломатериалы") oResMaterial.Type = pjResourceTypeMaterial oResMaterial.StandardRate = 800 oResMaterial.MaterialLabel = "куб. м"
'Назначаем трудовой ресурс oTask.Assignments.Add oTask.ID, oRes.ID
'Для материального ресурса нужно указать количество Set oA = oTask.Assignments.Add(oTask.ID, oResMaterial.ID) 'Оно указывается … в минутах! ' 120 минут, то есть 2 часа, то есть 2 кубометра пиломатриалов oA . Work = 120
'Опять сохраняем идентификатор задачи sID = oTask . ID
'Для последней задачи выполняем уже знакомые нам действия Set oTask = oProject.Tasks.Add(" Покраска забора ") oTask.Predecessors = sID Application.SetTaskField "Длительность", "1д", False, False, oTask.ID
Set oRes = oProject.Resources.Add("Сидорова Светлана") oRes.Type = pjResourceTypeWork oRes.StandardRate = 125
Set oResMaterial = oProject.Resources.Add("Краска") oResMaterial.Type = pjResourceTypeMaterial oResMaterial.StandardRate = 100 oResMaterial.MaterialLabel = "банка"
oTask.Assignments.Add oTask.ID, oRes.ID
Set oA = oTask.Assignments.Add(oTask.ID, oResMaterial.ID) oA . Work = 120
'СОхраняем проект в соответствии с поставленными условиями oProject.SaveAs "C:\Забор.mpp"
End Sub
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||