Создание и поручение задачи
После того как все списки инициализированы, переходим непосредственно к созданию задачи и ее поручению писателю. Оформим реализацию данной задачи в виде процедуры, которая будет вызываться нажатием клавиши Назначить задачу нашего диалогового окна.
Но прежде всего проверим, какой информацией мы будем обладать после окончания работы с диалоговым окном, а какую будет необходимо собрать дополнительно. Итак, для составления темы задачи нам достаточно серии, названия книги и автора. Для указания получателя задачи также достаточно имени писателя, поскольку 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 с реакцией на событие щелкнуть по кнопке Назначить задачу. Для этого перейдите в представление формы и дважды щелкните по кнопке, после чего автоматически откроется окно редактора кода с заглушкой процедуры – реакции на событие.
Программа 22.7. Обработчик процедуры – реакции на событие.
Private
Sub
CommandButton1_Click()
Обработчик нажатия кнопки Назначить задачу
AssignTask
TaskForm.Hide
End
Sub
Private
Sub
CommandButton2_Click()
Обработчик нажатия кнопки Отмена
TaskForm.Hide
End
Sub
Комментарий здесь только один, переменная TaskForm – это имя нашего диалогового окна, чей метод Hide вызывается для закрытия. Итак, программа почти полностью готова, можно осуществить ее запуск и убедиться в ее работоспособности. После нажатия клавиши F5, тестового заполнения полей диалогового окна и нажатия кнопки Назначить встречу появится диалоговое окно системы безопасности Outlook. Разрешите доступ к ресурсам Outlook, после чего появится предупреждение об ошибке, изображенное на рис. 22.5.
Рис. 22.5. Диалоговое окно Microsoft Visual Basic, предупреждающее об ошибке
Его появление вызвано ошибкой в коде нашей программы, о поиске которой и пойдет дальше речь.