Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Microsoft Office для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Решение:

Код макроса, который можно запустить из 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

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru