
- •Использование visual basic for applications для разработки приложений в ms office
- •Введение
- •1. Общие принципы ооп
- •2. Визуальное программирование. Событийно-управляемое программирование
- •3. Структура программы и иерархия классов в office
- •4. Интегрированная среда разработки vba
- •4.1. Окна интегрированной среды
- •4.2. Меню
- •4.2.1. Меню Файл
- •4.2.2. Меню Вид
- •4.2.3. Меню Вставка
- •4.2.4. Меню Формат
- •4.2.5. Меню Отладка
- •4.2.6. Меню Запуск (Run)
- •4.2.7. Меню Сервис (Tools)
- •4.2.8. Пример создания простейшей формы
- •5. Язык vba, написание программного кода
- •5.1. Общие элементы синтаксиса, операторы
- •5.1.2. Арифметические операторы
- •5.1.3. Оператор конкатенации &
- •5.1.4. Логические операторы
- •5.1.5. Комментарий
- •5.2. Функции, процедуры, макросы, обработчики событий
- •5.2.1. Процедуры
- •5.2.2. Функции
- •5.2.3. Функции MsgBox и DialogBox
- •InputBox (подсказка [, заглавие ] [, по_умолчанию ] [, х_поз][ , у_поз][ , help_file, контекст]).
- •5.2.4. Еще один способ вызова процедуры или функции
- •5.3. Объявление переменных, типы переменных
- •5.4. Преобразованиеданных и типов данных
- •5.5. Массивы
- •5.6. Константы
- •5.7. Область видимости и время жизни переменных, констант и процедур
- •5.7.1. Управление областью видимости
- •5.7.2. Пример создания программного кода формы
- •5.8. Инструкции vba
- •5.8.1. Инструкции присваивания Let и Set
- •5.8.2. Инструкции циклов
- •5.8.3. Инструкции принятия решений
- •6. Создание графического интерфейса с помощью стандартных элементов диалога
- •6.1. Создание формы и размещение в ней элементов управления
- •6.1.1. Объектная модель библиотеки ms Forms
- •6.1.2. События форм и элементов управления
- •6.2. Элементы управления
- •6.2.1.Label (Надпись)
- •6.2.2.TextBox (Поле)
- •6.2.3.RadioButton (Переключатели или радиокнопки)
- •6.2.4.CheckBox (Флажок) и Toggle Button (Выключатель)
- •6.2.5.Frame (Рамка)
- •6.2.6.ListBox (Список)
- •6.2.7.ComboBox (Поле со списком)
- •6.2.14.Свойства элементов управления
- •7. Создание приложений для ms excel
- •7.1. Структура проекта
- •7.2. ОбъектApplication
- •7.3. Работа с книгами
- •7.4. Работа с рабочими листами
- •7.5. Работа с ячейками
- •8. Создание приложений для ms word
- •8.1. Структура проекта
- •8.2. ОбъектApplication
- •8.3. Работа с документами
- •8.4. Работа с абзацами
- •8.5. Работа с текстом
- •8.5.1. Объект Range
- •8.5.2. Объект Selection
- •9. Задания для самостоятельной работы
- •9.1. Создание графического интерфейса
- •9.2. Написание программного кода
- •9.3. Создание приложения дляWord
- •9.4. Написание функции и процедуры
- •9.5. Создание приложения дляExcel
- •Библиографический список
8.5.2. Объект Selection
Объект Selection выполняет функции выделения в окне. Выделение может содержать определенную область текста или представлять собой текущую позицию вставки (позицию курсора). В конкретный момент времени может существовать только одно выделение для активного окна документа и только одно выделение может быть активным. Для получения ссылки на объект Selection можно использовать свойство Selection соответствующих объектов. Методы объекта Selection практически полностью повторяют методы объекта Range.
Рассмотрим только один метод Selection, отсутствующий у объекта Range. Метод TypeText (Text) позволяет вставить текст в выделение. Если значение свойства ReplaceSelection равно True, то выполняется замена выделенного фрагмента на текст, задаваемый параметром Text. В противном случае текст вставляется перед выделенным фрагментом.
9. Задания для самостоятельной работы
9.1. Создание графического интерфейса
С помощью конструктора форм создать графический интерфейс простейшего текстового редактора. Интерфейс должен в себя включать:
элемент управления Поле для ввода и редактирования текста;
элемент управления Комбинированный список для выбора шрифта;
элементы управления Поле и Счетчик для изменения размера шрифта двумя способами;
элемент управления Выключатель для задания начертания шрифта: полужирный, курсив, подчеркивание;
элементы управления типа Кнопка для добавления текста в документ относительно выделенного фрагмента документа: «Заменить», «Добавить перед...» и «Добавить после...»;
элемент управления Кнопка для закрытия формы.
Для всех элементов создаваемой формы должно быть использовано свойство ControlTopText, определяющее всплывающую подсказку к элементу. На форме должны быть необходимые пояснения, оформленные с помощью компонента Надпись. Все элементы, кроме текстового поля должны быть заключены в рамку. Надписи на выключателях должны быть оформлены с использованием соответствующих им эффектов (для выключателя «Полужирный» надпись должна быть выполнена полужирным шрифтом и т.д.). Далее необходимо сохранить форму и экспортировать в отдельный файл.
9.2. Написание программного кода
Создать обработчики событий для элементов управления на форме простейшего текстового редактора с целью реализации следующих требований к работе формы.
1. Элементы управления типа SpinButton и TextBox, при помощи которых изменяется размер шрифта в текстовом поле, должны быть синхронизированы, т. е. изменение параметра Value одного из элементов должно влечь за собой изменение этого же параметра для другого элемента.
2. При некорректно введенном значении размера шрифта должно выводиться предупреждение пользователю, а не сообщение VBA об ошибке. После этого размер шрифта должен быть приведен к исходному значению. При вводе пустой строки сообщение об ошибке не выводится, а размер шрифта приводится к исходному значению.
3. При нажатии на выключатель для задания начертания шрифта (полужирный, курсив, подчеркивание) должно меняться соответствующее свойство шрифта в текстовом поле, а фокус должен переходить на поле редактирования текста. Аналогичные действия должны производиться и при выборе типа шрифта, и при выборе его размера.
5. Возможные значения (Items) для элемента ComboBox на форме, предназначенного для выбора шрифта, должны быть представлены всеми доступными шрифтамиWord.
При написании программного кода необходимо учесть следующие рекомендации. 1. Для изменения параметров шрифта используйте свойство Font свойства Text элемента TextBox. 2. Каждый элемент управления обладает методом SetFocus, который переводит фокус на элемент. 3. Для проверки, является ли введенное значение числом, можно использовать функции Val и CStr. 4. Не забывайте о параметре Cancel обработчика события AfterUpdate. 5. Элемент управления TextBox не поддерживает возможность форматирования выделенного текста, т. е. форматирование может быть применено только ко всему тексту в поле TextBox.