Главы  Введение  1  2  3  4  

Глава IV. ПРОГРАММИРОВАНИЕ В OUTLOOK


    Глава IV. ПРОГРАММИРОВАНИЕ В OUTLOOK
    Глава IV. ПРОГРАММИРОВАНИЕ В OUTLOOK Разработка форм Создание формы Добавление полей пользователя Элементы управления Свойства элементов управления Вычисления в форме Макет Свойства формы Опублико...
    Глава IV
    Глава IV Программирование в Outlook Microsoft Outlook является поистине всеохватывающим приложением в области управления информацией. Вы можете месяцами изучать его различные компоненты, исследова...
    Опубликование формы
    Опубликование формы Итак, после того как вы убедились в работоспособности формы, ее необходимо сохранить. Сохранение формы носит специальное название опубликование. Сразу же заметим, что эта проце...
    Пример 19.9. Сохранение формы в качестве шаблона
    Пример 19.9. Сохранение формы в качестве шаблона Файл Сохранить как. . . Папка Имя папки Имя := Имя файла Тип файла Шаблон Outlook ОК Теперь для создания нового элемента на основе этого шаблона до...
    Пример 19.10. Сохранение формы в библиотеке личных форм
    Пример 19.10. Сохранение формы в библиотеке личных форм Сервис Формы Опубликовать форму Папки Библиотека личных форм (рис. 19.14} Название := Writer Имя формы:= Writer Опубликовать...
    Диалоговое окно Публикация формы
    Диалоговое окно Публикация формы После того как форма сохранена, ею можно воспользоваться для создания новых элементов....
    Пример 19.11. Создание элемента на основе пользовательской формы
    Пример 19.11. Создание элемента на основе пользовательской формы Сервис Формы Выбрать форму Папки Библиотека личных форм Формы Book Открыть На рис. 19.15 изображено диалоговое окно Выбор формы (Ch...
    Диалоговое окно Выбор формы
    Диалоговое окно Выбор формы...
    Пример 19.12. Задание формы, применяемой по умолчанию
    Пример 19.12. Задание формы, применяемой по умолчанию {На панели Outlook} Контакты Свойства Общие Помещая в эту папку использовать Формы... Папки Библиотек личных форм Формы Writer Открыть ОК (рис...
    Вкладка Общие диалогового окна Свойства папки "Контакты"
    Вкладка Общие диалогового окна Свойства папки Контакты...
    Резюме
    Резюме В этой главе мы рассмотрели первый этап на пути программной оптимизации в работе с Outlook, а именно разработку пользовательских форм. П Создание формы. Создание формы пользователя, констру...
    Основы VBA
    Основы VBA Уважаемый читатель, позвольте перед столь нелегким делом, как почти исчерпывающее описание языка VBA с нашей стороны и кропотливое его изучение — с вашей, сделать небольшое философское...
    Пример в самом начале раздела...
    Пример в самом начале раздела поможет в дальнейшем по аналогии создавать простые программы, тестирующие приведенные листинги. Условные обозначения помогут разобраться в использовании синтаксиса яз...
    Программа 20.1. Вывод диалогового окна с надписью "Здравствуй, мир!"
    Программа 20.1. Вывод диалогового окна с надписью Здравствуй, мир! Sub hello Enter Tab MsgBox(Здравствуй, мир!) Замечание Замечание 1 В коде программы есть еще одна строка (End Sub), но она появля...
    Программа готова! Осталось ее...
    Программа готова! Осталось ее запустить, нажав кнопку Run Sub/User Form на панели инструментов Стандартная или клавишу F5 (Запуск строки). Результат и окно редактора VBA продемонстрированы на рис....
    Окно редактора и диалоговое окно с надписью "Здравствуй, мир!"
    Окно редактора и диалоговое окно с надписью Здравствуй, мир! После рассмотрения примера вернемся к описанию языка. Для этого введем условные обозначения для описания языка. Существует множество яз...
    Таблица 20.1. Условные обозначения
    Таблица 20.1. Условные обозначения Обозначение...
    Программа 20.2. Комментарий
    Программа 20.2. Комментарий Sub numbBookSaie () 'Процедура подсчета количества проданных книг В-четвертых, если строка программы не помещается целиком в окне редактора кода, то при использовании с...
    Типы данных
    Типы данных Как мы уже отмечали, язык — это знаковая система для передачи информации. Когда же мы говорим о языке программирования, то подразумеваем под информацией строго определенное понятие. В...
    Таблица 20.2. Встроенные типы данных VBA
    Таблица 20.2. Встроенные типы данных VBA ...
    Программа 20.3. Объявление переменных j
    Программа 20.3. Объявление переменных j Dim str As String, Var = 123.456 Dim str$, k Кстати, помимо явной инициализации переменных, например pi = 3.14, существует инициализация по умолчанию. То ес...
    Совет 1
    Совет 1 Рекомендуется давать константам осмысленные имена и описывать их в самом начале модуля, а затем использовать всюду только именованные константы. Это делает программу не только понятнее, но...
    Программа 20.4. Объявление массивов
    Программа 20.4. Объявление массивов {Первый пример} Dim temperature( - 14 То -1) temperature(-2) = -10 {Второй пример} Const numbShop As Integer = 20, numbBook As Integer = 100 Dim numbBookSale (1...
    Программа 20.5. Объявление перечисляемого типа
    Программа 20.5. Объявление перечисляемого типа Enum Week Monday Tuesday Wednesday Thursday Friday Saturday Sunday End Enum Sub Weekend() Dim day As Week Day = Saturday End Sub После описания прост...
    Программа 20.6. Объявление типов
    Программа 20.6. Объявление типов Public Type Person name As String birthday As Date End Type Public Type Book author As Person title As String content () as String End Type Sub TypeExample() Dim a...
    Операторы
    Операторы Любая программа представляет собой последовательность операторов. Мы уже рассматривали те операторы, которые предназначены для объявления переменных и определения типов. В этом разделе м...
    Программа 20.7. Присваивание
    Программа 20.7. Присваивание Sub LetEgual() Dim age As Integer, str$ Dim peoplel As Person, people2 As Person, peoples As Person age = 32 str = Жизнь прекрасна peoplel.name = Александр people2.nam...
    Программа 20.8. Левое присваивание
    Программа 20.8. Левое присваивание Sub LsetEqual() Dim Strl As String, Str2 As String Strl = 0123456789 Str2 = -Влево Lset Strl = Str2 Msgbox(Strl) End Sub Оператор RSet аналогичен оператору LSet,...
    Программа 20.9. Использование оператора if. . .Then. . .Else !
    Программа 20.9. Использование оператора if. . .Then. . .Else ! Sub branch() Dim a, b, с a = -10 b= 0 с = 10 If ca Then c=c+l : MsgBox(c) Else a=a-l : MsgBox(a) If с 20 Then c=c+1 ElseIf с = -a + b...
    Программа 20.10. Использование оператора Select Case
    Программа 20.10. Использование оператора Select Case Sub branchLinef) Dim t As Integer Использование оператора GoTo будет рассмотрено чуть ниже. labelInput: t = InputBox{Введите число) If (Not (Is...
    Совет 1
    Совет 1 Применение оператора безусловного перехода нежелательно, поскольку присутствие этого оператора в программе нарушает ее структурную целостность и наглядность. Такую программу трудно читать,...
    Программа 20.11. Использование оператора For. . .Next
    Программа 20.11. Использование оператора For. . .Next Sub Factorial() Dim factorial As Variant factorial = 1 For i = 1 To 20 factorial = factorial * i Next MsgBox(factorial) End Sub Sub InitMatrix...
    Программа 20.12. Использование оператора Do... Loop
    Программа 20.12. Использование оператора Do... Loop Sub ShopCalculate(} Dim bookshops(1 To 25} As Integer, sum As Integer Инициализация booksShops Первый способ sumOfBooks = 0 numOfShops = 0 Do nu...
    Программа 20.13. Использование оператора For Each. . .Next
    Программа 20.13. Использование оператора For Each. . .Next Sub RecSum() Dim bookshops() As Integer Dim elem As Variant ReDim bookshops(1 To 25) Инициализация sum = 0 For Each elem In bookshops sum...
    Структура программы
    Структура программы В предыдущих разделах мы рассмотрели те элементарные кирпичики (операторы и выражения), из которых строится программа. В ранних языках программирования, например в первых верси...
    Программа — это последовательность...
    Программа — это последовательность операторов, и все. Пока программы невелики, такой подход вполне работоспособен. Если в программе 10 операторов, то никакой дополнительной структуры не нужно. Но...
    Программа 20.14. Объявление процедур и функций
    Программа 20.14. Объявление процедур и функций Public Sub InitBookShops(arr() As Integer) Dim i, str For i = LBound (arr) To UBound (arr) str = Ввести заказ для магазина № i arr(i) = InputBox(str)...
    Программа 20.15. Процедура реакции на событие
    Программа 20.15. Процедура реакции на событие Private Sub Document_Close() MsgBox (До свидания, спасибо за работу!) End Sub Замечание Замечание 2 Событийное управление — это способ структуризации...
    Совет 1
    Совет 1 В современных системах программирования имеются богатые и все время развивающиеся библиотеки готовых компонент, которые называются элементами управления (controls) и тесно интегрированы со...
    Программа 20.16. Вызов процедур и функций
    Программа 20.16. Вызов процедур и функций Sub Test() . Dim bookshops(1 To 25) As Integer Dim result As Boolean Init bookshops result = SaleAbility(bookshops, 3000) MsgBox(result) End Sub В рассмот...
    Программа 20.17. Использование именованных аргументов
    Программа 20.17. Использование именованных аргументов Sub Test2() Dim bookshops(1 To 25) As Integer Dim result As Boolean Init bookshops result = SaleAbility(arr := bookshops, numOfBooks := 3000)...
    Программа 20.18. Использование параметра ParamArray
    Программа 20.18. Использование параметра ParamArray Sub FullSum(ParamArray arr() As Variant) Dim sum As Integer For i = LBound(arr) To UBound(arr) sum = sum + arr(i) Next i MsgBox (sum) End Sub Su...
    Программа 20.19. Рекурсивный вызов функции
    Программа 20.19. Рекурсивный вызов функции Function fctrl(n As Integer) As Variant If (n = 1) Then fctrl = 1 Else fctrl = n * fctrlfn - 1) End If End Function Sub Test4 () MsgBox fctrl(20) End Sub...
    Программа 20.20. Разница между ByRef и ByVal
    Программа 20.20. Разница между ByRef и ByVal Sub RefVal(x, ByVal у, ByRef z) х = х + 1 у = у + 1 z = z + 1 MsgBox(х) MsgBox(у) MsgBox (z) End Sub Sub MainCalc 0 a = 10 b = 20 с = 30 Call RefVal(a,...
    Классы и объекты
    Классы и объекты Давайте подведем предварительные итоги. Во-первых, мы рассмотрели, что такое встроенные типы данных, какие они бывают, в чем состоит их различие, как создавать переменные этих тип...
    Пример 20.1. Создание класса Person
    Пример 20.1. Создание класса Person Insert Class Module Properties Name:= Person...
    Программа 20.21. Создание класса
    Программа 20.21. Создание класса Public name As String Private birthday As Date Private male As Boolean Public Sub perslnit( Optional persName As String = Novikov, Optional persBirth As Date = #10...
    Программа 20.22. Объявление объектов класса, определенного пользователем
    Программа 20.22. Объявление объектов класса, определенного пользователем Sub ObjectExample () Dim author As New Person Dim he As Object author.perslnit Novikov, #10.10.51* Set he = author he.persP...
    Программа 20.23. Встраивание классов
    Программа 20.23. Встраивание классов Dim author As New Person Private title As String Public Sub booklnit (str As String, persObject As Person) title = str Set author = persObject End Sub Public S...
    Программа 20.24. Использование объектов встроенных классов
    Программа 20.24. Использование объектов встроенных классов Sub ObjectExample() Dim author As New Person Dim bookObj As New Book author.perslnit Novikov, #10/10/1951# Эта функция также возвращает с...
    Программа 20.26. Открытие документа
    Программа 20.26. Открытие документа Sub DocOpen1 () Dim docObj As Object Set docObj = CreateObject (Word.Application) docObj.Visible = True docObj.Documents. Add БлокОператоров docObj.Quit End Sub...
    Совет 1
    Совет 1 Желательно, чтобы имя повторялось во всех трех процедурах-свойствах, если они имеют дело с одним и тем же свойством. СписокПараметров ,— это список дополнительных параметров, участвующих в...
    Программа 20.27. Использование процедур-свойств
    Программа 20.27. Использование процедур-свойств Public Property Get prsDateO As Date prsDate = birthday End Property Public Property Let prsDate(bthday As Date) If bthday #1/1/19001 And bthday #1/...
    Программа 20.28. Объявление процедур реакций на событие
    Программа 20.28. Объявление процедур реакций на событие Private Sub Class_Initialize() name = Novikov birthday = #10/10/19511 male = True End Sub Конечно, это только первичная инициализация, для п...
    Программа 20.29. Объявление семейства
    Программа 20.29. Объявление семейства Sub BooksCollection() Dim Books As New Collection Dim Novikov As New Person Dim Vba As New Book Novikov.perslnit Novikov, #10/10/1951#, True Vba.booklnit VBA...
    Редактор Visual Basic for Application
    Редактор Visual Basic for Application Любая система программирования, помимо основной части — транслятора (то есть компилятора или интерпретатора) языка программирования, должна включать среду про...
    Редактор Visual Basic for Application
    Редактор Visual Basic for Application О добавлении, удалении и переименовании модулей в проекте будет рассказано ниже. Помимо области, где отображаются документы, на панели проекта располагаются т...
    Окно проекта
    Окно проекта...
    Окно свойств
    Окно свойств Кстати, свойства можно отображать как в алфавитном порядке, так и по категориям, посредством выбора соответствующих вкладок Alphabetic или Categorized. Следующая рассматриваемая нами...
    Окно кода
    Окно кода Для более детальной настройки интерфейса всегда можно воспользоваться диалоговым окном Options (Опции) меню Tools (Инструменты). В нем вам предоставляется возможность изменить такие уста...
    Пример 20.2. Вход в справочную систему
    Пример 20.2. Вход в справочную систему Help Справка по Microsoft Visual Basic {или нажмите клавишу F1} Давайте рассмотрим работу со справочной системой на примере поиска информации об объекте Appl...
    Пример 20.3. Получение справки
    Пример 20.3. Получение справки Мастер ответов Выберите действие := Outlook Objects Найти Выберите раздел := Microsoft Outlook Objects Application...
    Окно справки с объектной моделью Microsoft Outlook
    Окно справки с объектной моделью Microsoft Outlook Мы рассмотрели вариант получения информации об объектной модели и ее элементах с помощью справочной системы, но помимо этого существует специальн...
    Пример 20.4. Запуск Object Browser
    Пример 20.4. Запуск Object Browser Object Browser {На панели Standard или} View Object Browser {или} F2 Окно просмотра объекта состоит из нескольких частей: Поле со списком Project/Library (Проект...
    Окно просмотра объектов
    Окно просмотра объектов Поле со списком Search Text (Образец поиска), расположенное под списком Project/Library. Позволяет ввести текст для поиска компонентов в доступных библиотеках. После ввода...
    Значки типов компонентов объектной модели
    Значки типов компонентов объектной модели Список Classes (Классы). Содержит список объектов, типов данных и перечислений (списков констант), принадлежащих конкретной библиотеке или проекту. Содерж...
    Пример 20.5. Поиск в Object Browser
    Пример 20.5. Поиск в Object Browser Project/Library All Libraries Search Text := persinit После этого в окне Details появится описание нашего метода. Справочная система — очень сильное оружие, но...
    Пример 20.6. Добавление модуля
    Пример 20.6. Добавление модуля Insert {Forms | Module | Class Module} Для удаления какого-либо модуля из проекта необходимо его сначала выделить. При удалении модуля появится диалоговое окно, пред...
    Пример 20.7. Удаление модуля
    Пример 20.7. Удаление модуля File Remove Module Нет Помимо вышеприведенных способов добавления и удаления модулей существует еще один, и на наш взгляд, более естественный способ. Для добавления (у...
    Пример 20.8. Переименование модуля
    Пример 20.8. Переименование модуля {В окне проекта} Modulel {В окне свойств} Name := Новое имя модуля После того как мы освоили создание и удаление модулей, давайте рассмотрим, для чего же они пре...
    Пример 20.9. Сохранение проекта
    Пример 20.9. Сохранение проекта File Save имяПроекта Ведение современных проектов целой командой разработчиков (или даже одним человеком) зачастую требует использования кода разных модулей, лежащи...
    Пример 20.10. Экспорт и импорт классов
    Пример 20.10. Экспорт и импорт классов {В окне проекта CiassPerson} Person Export File... Папка := Диск Имя файла := Person Тип файла Class Files (*.cls) Сохранить (В окне нового проекта} Import F...
    Резюме
    Резюме В данной главе мы рассмотрели основы языка программирования Visaul Basic for Application. Его использование заметно упростит, расширит и обогатит сферу применения Outlook. Возможности и удо...
    Разработка форм
    Разработка форм Рассматривая ранее работу с элементами Outlook, мы постоянно встречались с заполнением форм всевозможной природы (сообщение, встреча, задача и т. д.). Использование форм является с...
    Объектная модель Outlook 2002
    Объектная модель Outlook 2002 Итак, после описания языка и работы со средой вы полностью готовы к полноценному программированию на Visual Basic for Application. Одной из важнейших характеристик си...
    Общие положения
    Общие положения Любая модель, определенная в VBA, состоит из классов, каждый из которых представляет собой отдельный объект или семейство объектов. Объектов в Office, да и в Outlook достаточно мно...
    Пример 21.1. Получение справки об объектной модели Outlook 2002
    Пример 21.1. Получение справки об объектной модели Outlook 2002 Справка Справка по Microsoft Outlook Содержание Дополнительные средства настройки Microsoft Outlook Visual Basic Reference Microsoft...
    Таблица 21.1. Описание объектов VBA
    Таблица 21.1. Описание объектов VBA Объект Программа 21.1. Использование объектов VBA
    Программа 21.1. Использование объектов VBA Sub ShowDriveList() Set fsystem = CreateObject(Scripting.FileSystemObject) Set systemDrives = fsystem.Drives For Each d In systemDrives Debug.Print d.Dri...
    Объектная модель Office XP
    Объектная модель Office XP Объекты Microsoft Office используются в иерархической структуре других объектных моделей. Описание основных объектов Microsoft Office, собранных в библиотеке Office, при...
    Таблица 21.2. Описание объектов Microsoft Office XP
    Таблица 21.2. Описание объектов Microsoft Office XP Объект Программа 21.2. Использование объектов Assistant и Balloon
    Программа 21.2. Использование объектов Assistant и Balloon Sub ShowAssistant() blnName = Application.Assistant.Name Dim bin As Balloon Set bin = Application.Assistant.NewBalloon With bin .Heading...
    Объектная модель Outlook 2002
    Объектная модель Outlook 2002 Объектная модель Microsoft Outlook реализована в виде набора объектов, собранных в библиотеке Outlook....
    Программа 21.4.1. Объекты приложения Outlook
    Программа 21.4.1. Объекты приложения Outlook В табл. 21.3 приведено описание основных объектов из объектной модели Outlook....
    Таблица 21.3. Основные объекты Outlook
    Таблица 21.3. Основные объекты Outlook Объект <...
    Объект Inspector (форма элемента)
    Объект Inspector (форма элемента)...
    Таблица 21.4. Основные свойства объекта Application
    Таблица 21.4. Основные свойства объекта Application Свойство ...
    Таблица 21.5. Основные методы объекта Application
    Таблица 21.5. Основные методы объекта Application Метод Назначение ActiveExplorer...
    Таблица 21.6. События объекта Application
    Таблица 21.6. События объекта Application Событие...
    Программа 21.4.2. Объекты MAPIFolderv и Mailltem
    Программа 21.4.2. Объекты MAPIFolderv и Mailltem Поскольку в примерах этой главы и следующей используются свойства и методы объектов MAPIFolder и Mailltem, мы сочли необходимым привести их краткое...
    Таблица 21.7. Свойства объекта MAPiFolder
    Таблица 21.7. Свойства объекта MAPiFolder Свойство...
    Таблица 21.8. Методы объекта MAPiFolder
    Таблица 21.8. Методы объекта MAPiFolder Метод...
    Программа 21.3. Открытие почтовых сообщений
    Программа 21.3. Открытие почтовых сообщений Sub openLastMail () Dim oa As Outlook.Application Dim ns As NameSpace ; Dim fl As MAPiFolder Dim ob As Object Dim it As Mailitem Dim i As integer Set oa...
    Резюме
    Резюме В этой главе было рассказано об объектных моделях Office, Outlook и VBA. Объектные модели состоят из взаимосвязанных объектов и семейств, предназначенных для программного управления приложе...
    Разработка приложения
    Разработка приложения В предыдущих главах мы познакомились с разработкой форм, основами языка программирования VBA и объектной моделью Outlook. Знание этих азов необходимо для создания приложений...
    Постановка задачи
    Постановка задачи Работая над задачей любой сложности, необходимо четко представлять ее условия, цель, а также возможные способы решения. Ибо несогласованность и абстрактность требований может при...
    Сгенерированные задачи
    Сгенерированные задачи Итак, задача поставлена, и мы переходим к ее программной реализации. Начнем, с разработки формы (диалогового окна)....
    Проектирование диалогового окна
    Проектирование диалогового окна Для создания задачи и заполнения ее информационных полей необходимо открыть диалоговое окно, с помощью которого можно будет указать тип серии, выбрать автора, а так...
    Пример 22.1. Создание пользовательской формы
    Пример 22.1. Создание пользовательской формы Сервис Макрос Редактор Visual Basic... {В окне VBE} Insert UserForm При этом открывается окно разработки пользовательской формы с пустой пока пользоват...
    Пример 22.2. Открытие панели инструментов Too/box (Элементы управления)
    Пример 22.2. Открытие панели инструментов Too/box (Элементы управления) View Toolbox Дальнейший процесс проектирования пользовательского диалога состоит в том, что вы просто щелчком мыши выбираете...
    Проектируемое диалоговое окно
    Проектируемое диалоговое окно Для того чтобы ввести текст надписи, сначала щелкните по этой надписи, чтобы выделить ее, затем сделайте второй щелчок, чтобы войти в режим редактирования. Теперь уда...
    Пример 22.3. Форматирование элементов управления
    Пример 22.3. Форматирование элементов управления Номер главы Ctrl + Серия Ctrl + Раскрывающийся список Ctrl + Название Ctrl + Длительность проекта {Трое из элементов имеют черные маркеры выделения...
    Свойства элементов управления
    Свойства элементов управления Как и все прочие объекты Visual Basic, элементы управления имеют свои свойства и методы. Например, флажок является объектом класса checkBox и имеет свойства, которые...
    Пример 22.4. Определение названия диалогового окна
    Пример 22.4. Определение названия диалогового окна {все диалоговое окно целиком — щелчком по свободному месту} Caption := Задача: Написание книги Большинство свойств различных элементов управления...
    Пример 22.5. Установка свойств для элементов управления
    Пример 22.5. Установка свойств для элементов управления ComboBoxl Name := series Style 2-fmDropDownList ComboBox2 Name := author Style 2-fmDropDownList EditBox Name := title MaxLength := 50 ComboB...
    Панель свойств для раскрывающегося списка
    Панель свойств для раскрывающегося списка...
    Программа Создание формы
    Программа Создание формы Для создания формы необходимо перейти в режим конструктора форм....
    Пример 19.1. Переход в режим конструктора форм
    Пример 19.1. Переход в режим конструктора форм Сервис Формы Конструктор форм... Папки Библиотека стандартных форм (рис. 19.1) Формы Контакт Открыть...
    Диалоговое окно Конструктор форм
    Диалоговое окно Конструктор форм Однако попутно необходимо сделать пару замечаний. Пользователь может создавать собственные формы только на основе стандартных форм Outlook, добавляя или удаляя пол...
    Вкладка Все поля контакта в режиме конструктора форм
    Вкладка Все поля контакта в режиме конструктора форм...
    Инициализация формы
    Инициализация формы В предыдущем разделе мы говорили о статическом изменении свойств элементов управления, но это лишь первичная настройка объектов формы. Как правило, основные свойства, связанные...
    Программа Статическое заполнение списка
    Программа Статическое заполнение списка Начнем, пожалуй, с самого простого статического заполнения списка duration, который просто состоит из двенадцати цифр, одну из которых пользователь (редакто...
    Программа 22.1. Статическое заполнение списка
    Программа 22.1. Статическое заполнение списка {На панели Project} 1R UserForml View Code {В окне кода} Private Sub Init_Duration() 'Инициализация списка duration With duration For i = 1 To 12 .Add...
    Программа 22.2. Вызов процедуры из конструктора
    Программа 22.2. Вызов процедуры из конструктора Private Sub UserForm_Initialize() Init_Duration End Sub Теперь, нажав клавишу F5, вы можете убедиться, что список duration инициализируется верно....
    Программа Работа с файлами
    Программа Работа с файлами Следующий список, который необходимо инициализировать, — series. В отличие от duration, как было отмечено выше, этот список может изменяться, поэтому мы решили хранить с...
    Архитектура файла bookseries.ini
    Архитектура файла bookseries.ini Таким образом, пользователю необходимо лишь добавить название новой серии в данный файл, как сделанные изменения тут же отобразятся в форме. Архитектура файла иниц...
    Программа 22.3. Работа с файлами
    Программа 22.3. Работа с файлами Sub Init_Series() Dim inifile As Integer Dim srv As String inifile = FreeFile iniPath = C:\bookseries.ini 'Открываем файл для чтения Open iniPath For Input As tini...
    Программа 22.4. Вызов процедуры lnit_Series из конструктора
    Программа 22.4. Вызов процедуры lnit_Series из конструктора Private Sub UserForm_Initialize() Init_Duration Init_Series End Sub...
    Программа Взятие данных из Outlook
    Программа Взятие данных из Outlook В предыдущей программе мы заполняли список динамически, считывая данные из файла. Переходя к инициализации списка авторов, отметим, что эта информация также спос...
    Программа 22.5. Инициализация данных из Outlook
    Программа 22.5. Инициализация данных из Outlook Sub Init_Authors() Объявление переменных Dim nms As NameSpace Dim fldContacts As MAPIFolder Dim itms As Collection Dim itm As Integer Создание объек...
    Создание и поручение задачи
    Создание и поручение задачи После того как все списки инициализированы, переходим непосредственно к созданию задачи и ее поручению писателю. Оформим реализацию данной задачи в виде процедуры, кото...
    Программа 22.6. Создание и поручение задачи
    Программа 22.6. Создание и поручение задачи Sub AssignTask() Dim tsk As Taskltem tsk = Creatltem(olTaskltem) With tsk .Subject = series + : + authors + +title .Body = Ответственный редактор: + .Ow...
    Программа 22.7. Обработчик процедуры — реакции на событие
    Программа 22.7. Обработчик процедуры — реакции на событие Private Sub CommandButtonl_Click() 'Обработчик нажатия кнопки Назначить задачу AssignTask TaskForm.Hide End Sub Private Sub CommandButton2...
    Диалоговое окно Microsoft Visual Basic,
    Диалоговое окно Microsoft Visual Basic, предупреждающее об ошибке Его появление вызвано ошибкой в коде нашей программы, о поиске которой и пойдет дальше речь....
    Отладка и тестирование программ
    Отладка и тестирование программ Конечная цель программиста заключается в написании правильно работающей программы, но, к сожалению, в 99 случаях из 100 первая попытка использования программы приво...
    Диалоговое окно Run-time error '91'
    Диалоговое окно Run-time error '91' Выберем Debug. В этом случае окно с кодом программы становится активным и в нем выделяется (по умолчанию желтым цветом) оператор, на котором прервалось выполнен...
    Сгенерированная задача
    Сгенерированная задача Для этого необходимо предположить, в каких местах возможно появление ошибки, и расставить там специальные точки останова, чтобы остановиться и проверить значения переменных,...
    Точки останова и диалоговое окно Quick Watch
    Точки останова и диалоговое окно Quick Watch...
    Пример 22.8. Добавление переменной в окно Add Watch
    Пример 22.8. Добавление переменной в окно Add Watch {В окне Watch} 1R Add Watch... (рис. 22.9) Expression := tsk.StartDate Procedure AssignTask OK Итак, точки останова расставлены, окно Add Watch...
    Диалоговое окно Add Watch
    Диалоговое окно Add Watch Для единичного просмотра значения переменной можно просто подвести к ней указатель мыши, и вы увидите всплывающую подсказку. Например, duration = 5. Для дальнейшего пошаг...
    Средства отладчика
    Таблица 22.1. Средства отладчика Команда...
    Вызов макросов
    Вызов макросов Итак, наше приложение готово, но удобно ли им пользоваться? Где та легкость и удобство в работе, заявленные в начале данной главы? Естественно, что конечного пользователя не устроит...
    Пример 22.7. Функция запуска приложения
    Пример 22.7. Функция запуска приложения {В редактор VBE} Insert Modules Name := AssignTask (В редактор VBE} Sub GenerateTask() UserForm.Show End Sub Теперь все готово к созданию панели и кнопки по...
    Создание панели инструментов
    Пример 22.8. Создание панели инструментов {В окне Outlook} Сервис Настройка... Панели инсрументов Создать... Панель инстрементов := BookTask ОК На рис. 22.11 изображено диалоговое окно Настройка и...
    Программа Добавление кнопки на панель
    Программа Добавление кнопки на панель Для добавления кнопки на панель выполните следующую операцию....
    Пример 22.9. Добавление кнопки на панель инструментов
    Пример 22.9. Добавление кнопки на панель инструментов {В диалоговом окне Настройка} Команды Катерогии Макросы Команды BookTask.GenerateTask (рис. 22.12)...
    Вкладка Команды диалогового окна Настройка
    Вкладка Команды диалогового окна Настройка Теперь необходимо перетащить команду из диалогового окна Настройка на панель BookTask. По умолчанию получаются очень длинные кнопки с текстом, которые вы...
    Кнопка на панели инструментов с контекстным меню
    Кнопка на панели инструментов с контекстным меню Чтобы панель инструментов приняла привычный для настоящей панели вид, необходимо отформатировать кнопки....
    Пример 22.10. Форматирование кнопки пользователя
    Пример 22.10. Форматирование кнопки пользователя 1R BookTask.GenerateTask Имя := Назначить задачу писателю Значок и текст Выбрать значок для кнопки [1,6] Закрыть После того как закрыто диалоговое...
    Диалоговое окно Задача: Написание книги
    Диалоговое окно Задача: Написание книги Замечание Замечание 1 Помимо создания панелей инструментов и кнопок, можно задавать горячие клавиши для вызова макросов пользователей или создавать дополнит...
    Резюме
    Резюме В этой главе мы познакомились с разработкой простого приложения средствами VBA, на котором продемонстрировали основные аспекты его использования. Проектирование диалогового окна. Разработка...
    Добавление полей пользователя
    Добавление полей пользователя Прежде чем добавить пользовательское поле, необходимо определить, на какой из вкладок мы его будем размещать. Поскольку наши поля достаточно специфические, то для их...
    Пример 19.2. Создание вкладки пользователя
    Пример 19.2. Создание вкладки пользователя {Вкладка (2)} Форма Отображать эту страницу Форма Переименовать страницу.. . Название := Книги ОК Давайте теперь добавим поля название книги и количество...
    Пример 19.3. Создание поля пользователя
    Пример 19.3. Создание поля пользователя {Панель Выбор поля} Создать... Имя := Название книги 1 Тип Текст Формат Текст ок Создать... Имя := Кол-во страниц 1 Тип Целое число Формат 1 234 ОК Созданны...
    Элементы управления
    Элементы управления Следующее поле, которое мы будем создавать, — Переплет. Как вы уже знаете, поле переплет может принимать только одно из двух значений: твердый или мягкий. Конечно, это поле мож...
    Программа Стандартные элементы управления
    Программа Стандартные элементы управления Элемент управления — это специальное средство графического интерфейса пользователя, предназначенное для ввода/вывода информации и управления работой прогр...
    Таблица 19.1. Основные элементы управления
    Таблица 19.1. Основные элементы управления Название...
    Программа Раскрывающийся список
    Программа Раскрывающийся список Создадим раскрывающийся список Переплет и соответствующую надпись к нему....
    Пример 19.4. Добавление элементов управления
    Пример 19.4. Добавление элементов управления Форма Элементы управления Toolbox Label {На форме} {На элементе Надпись} Свойства Оформление Заголовок := Переплет: ОК Toolbox ComboBox {Ha форме} {Ha...
    Добавление элементов управления
    Добавление элементов управления...


- Начало -