После того как все списки инициализированы, переходим непосредственно к созданию задачи и ее поручению писателю. Оформим реализацию данной задачи в виде процедуры, которая будет вызываться нажатием клавиши Назначить задачу нашего диалогового окна.
Но прежде всего проверим, какой информацией мы будем обладать после окончания работы с диалоговым окном, а какую будет необходимо собрать дополнительно. Итак, для составления темы задачи нам достаточно серии, названия книги и автора. Для указания получателя задачи также достаточно имени писателя, поскольку Outlook автоматически соотнесет с ним адрес электронной почты. И наконец, последний параметр — длительность — хоть и получен, но не имеет смысла без установки даты начала задачи. Для разрешения этого вопроса за дату начала задачи мы примем дату ее назначения. Комментарием к задаче будет имя пользователя, создавшего поручение, — ответственного редактора.
Программа 22.6. Создание и поручение задачи
Sub AssignTask()
Dim tsk As Taskltem
tsk = Creatltem(olTaskltem)
With tsk
.Subject = series + ": " + authors + " " +title
.Body = "Ответственный редактор: " + .Owner
.StartDate = Now
.DueDate = .StartDate + duration
.Assign
.Recipients.Add authors
. Send End With End Sub
Прокомментируем эту программу. Сначала объявляется переменная — ссылка на объект Задача. После чего посредством функции createitem ей присваивается значение новой задачи. И далее планомерно заполняются поля задачи, при этом для заполнения текстовых полей используется операция сложения строк, а для задания начала задачи вызывается стандартная функция NOW. Для задания конца задачи мы прибавляем к дате старта количество месяцев, указанных в качестве продолжительности проекта.
Наша программа почти полностью готова, осталось лишь связать вызов процедуры AssignTask с реакцией на событие щелкнуть по кнопке Назначить задачу. Для этого перейдите в представление формы и дважды щелкните по кнопке, после чего автоматически откроется окно редактора кода с заглушкой процедуры — реакции на событие.
![]() |
![]() |
![]() |