Объектно-ориентированное программирование
В последние годы огромную популярность приобрело так называемое объектно-ориентированное программирование ( ООП ). Для того, чтобы эффективно работать в VBA, нужно понимать основные положения ООП. В частности, вам нужно разобраться, что такое классы, объекты, что такое методы, свойства и события объектов.
Класс - это шаблон для создания объектов. Например, пусть у нас есть класс "автомобиль". Он создан по общему чертежу, по единой проектной документации. Но каждый отдельный объект - конкретный экземпляр автомобиля -индивидуален. Например, они различаются цветом, особенностями отделки салона и так далее. Точно также происходит и при работе с программными классами и объектами. Один класс может породить множество различных объектов.
На первых этапах VBA-программирования вам не придется самостоятельно создавать классы, но вы постоянно будете обращаться к объектам из своих процедур. Однако знайте, что VBA в MS Office 2007 поддерживает написание полностью объектно-ориентированных приложений классов и инструментария работы с ними.
Объект - это нечто целостное, неделимое, содержащее в себе данные и код. В объекте может храниться информация и программные инструкции для обработки этой информации.
У объектов есть свойства и методы. Объекты могут откликаться на события. Чтобы объяснить эти важнейшие понятия, разовьем уже использованный пример.
Напомним: наш объект - это автомобиль. Какие свойства есть у автомобиля? Цвет, тип двигателя, скорость движения и так далее. А какие методы? Что наш автомобиль умеет делать? Например, передвигаться, ехать. Получается, что у автомобиля есть как минимум два метода: "начать движение" и "остановиться". Точно так же, свойства и методы есть и у объектов, которыми мы будем пользоваться в VBA. А как насчет событий? Например, событием по отношению к автомобилю может быть нажатие педали газа, которое приводит к увеличению скорости.
Детали работы объекта скрыты от пользователя. Обычно пользователю доступны лишь те свойства и методы, которые специально для этого предназначены. Пользователь не может повлиять на внутренние механизмы объекта, работая лишь со специально выделенными для взаимодействия с внешним миром методами и свойствами.
Обращение к методам объектов в VBA ведется таким образом:
Объект.Метод
Возможны и другие варианты использования методов. Например, если в метод нужно передать какой-то параметр, его вызов будет выглядеть так:
Объект.Метод (Параметры)
Обратите внимание на то, что объект и метод отделены точкой. Если вы вводите в редакторе VBA имя объекта и ставите после него точку - редактор подскажет вам, какие методы и свойства есть у этого объекта.
С помощью методов объекта мы даем объекту команды. Например, такая команда: Application.Quit, приводит к закрытию приложения. Очевидно, что Application - это объект "Приложение", а Quit - это метод "Выйти".
Со свойствами обычно работают так:
Объект.Свойство=Значение
Такой командой мы присваиваем некое значение свойству объекта.
А так: Переменная=Объект.Свойство можно присвоить некоей переменной свойство объекта. Подробнее с переменными мы познакомимся ниже. Пока можете считать переменные специальными "ящиками" в памяти компьютера, в которых можно хранить различные данные.
Свойства - это, как мы уже говорили, признаки объектов. Например, такая команда, txt_User_Name.Text="Александр", выведет в текстовом поле ( объект txt_User_Name ) слово "Александр". Очевидно, что эта команда модифицирует свойство объекта Text, которое отвечает за выводимый на объекте текст.
Если вам пока непонятно, что это за текстовые поля и их свойства - просто читайте дальше. В следующей главе мы подробно все это обсудим - и вы сможете соединить теорию, которую вы уже знаете, с практикой.
Событие - это действие, которое объект распознает и на которое реагирует. Например, событием может быть щелчок мышью по кнопке, открытие нового документа и т.д.
Объекты могут объединяться в коллекции объектов. Фактически, коллекции - это объекты, которые содержат в себе другие объекты. Обычно в коллекцию входят объекты, имеющие один и тот же тип - то есть - одинаковые объекты.
В следующей главе мы вплотную займемся работой с объектами, а пока обсудим очень важную тему - объектные модели приложений Office.
Введение в объектные модели приложений Office
Объекты приложений Office объединены в иерархическую структуру, которую называют объектной моделью. У каждого приложения своя объектная модель, то есть свой набор объектов. Например, в Microsoft Word на верхнем уровне иерархии стоит библиотека классов Word. Она включает в себя множество классов, например - Application, который символизирует приложение Microsoft Word. Application, в свою очередь, включает в себя другие объекты, методы, свойства. Например, такая команда приводит к закрытию Microsoft Word:
Word.Application.Quit
Обычно при работе в MS Word опускают вызов объекта Word, то есть вышеприведенную команду вполне может заменить такая:
Application.Quit
Вызов объекта Application тоже можно опускать, но делать это допустимо не всегда. Например, команду Application.Quit сократить уже не получится
Как мы уже говорили, в редакторе VBA есть средство для просмотра информации об объектах - Object Browser. Для его вызова служит одноименная кнопка на панели инструментов, или клавиша F2
Окно Object Browser
В левой части окна (она называется Classes ) находится список классов и перечислений, входящих в библиотеку Word (или в ту библиотеку, которая выбрана в поле Object Browser ), в окне Members of можно просмотреть методы, свойства и события выбранного в предыдущем окне класса.
Значок с изображением руки в этом окне означает свойство, значок молнии - событие, значок с изображением маленького предмета с черточками - метод.
Здесь нет информации о том, что делает тот или иной метод, что означает то или иное свойство и т.д. Как же узнать подробности? Для начала - задуматься над именами классов, объектов, свойств, методов, событий. Правда, для их понимания нужно знать значения английских слов, которые использованы для их именования.
Далее, можно поискать информацию по интересующим вас объектам в справочной системе VBA, а так же - в базах данных Microsoft (www.microsoft.com).
Если вы не знаете, какой именно объект нужен для выполнения того или иного действия, но знаете как выполнить это действие с помощью визуальных средств приложения (например - с помощью кнопок на вкладках), вы можете исследовать объектные модели с помощью макрорекордера.
Объектные модели приложений огромны. С одной стороны, для эффективного использования всех объектов, нужно хорошо в них разбираться, с другой же - запомнить все это многообразие очень сложно. К счастью, для повседневной работы вам достаточно знать лишь основные классы и объекты объектных моделей, а если вам понадобится что-нибудь особенное - всегда можно воспользоваться справкой или использовать макрорекордер.
Помимо обычных объектных моделей приложений Office, вы можете использовать в своих программах другие объектные модели. Например, программируя для Word, можете воспользоваться объектной моделью Excel а так же - любыми другими моделями, установленными в системе. Для этого нужно подключить нужные модели из редактора VBA с помощью команды меню Tools -> References(Инструменты o Ссылки)
В данном случае мы подключаем библиотеку Microsoft Excel (она ценна встроенными функциями) к Microsoft Word, то есть сможем пользоваться некоторыми функциями Excel в Word. Подключенные модели можно просматривать в окне Project Explorer.
Подключение библиотеки объектов Microsoft Excel
Подключив объектную модель Microsoft Excel в Microsoft Word, вы сможете программно работать с документами MS Excel из программ, написанных в MS Word (и наоборот). Если вы собираетесь работать с базами данных - вам понадобится особая объектная модель ADO и т.д.
Старые и новые версии Office: совместная работа
Сегодня нередко встречается ситуация, когда пользователям приходится одновременно работать со старыми версиями MS Office (например, Office XP, 2003) и новыми (Office 2007). Как вы знаете, эти версии имеют различные форматы файлов. Например, в предыдущих версиях MS Word используется универсальный формат .doc для хранения файлов документов, .dot - для шаблонов, а в новой - .docx и .docm для документов (второй формат поддерживает макросы, а первый - нет), и . dotm - для шаблонов.
Новый Office нормально работает со старыми версиями файлов, в том числе и с файлами, содержащими макросы. Однако, если вы хотите, чтобы, скажем, ваши *.doc - файлы, содержащие макросы, гарантированно работали в Office 2007 - обязательно тестируйте их в среде Office 2007.
Старые версии в исходном виде не умеют работать с новыми файлами. Чтобы они смогли читать новые файлы, нужно установить специальный конвертер, который можно скачать с сайта Microsoft, однако это не гарантирует полную совместимость программного кода. Так, объектные модели приложений Office 2007 дополнены новыми объектами (например, OMath для работы с формулами в MS Word).
Если вам приходится работать в среде, которая предусматривает параллельное использование двух разных версий Office, лучше всего создавать и отлаживать программы именно в той версии, в которой вы планируете их использовать.
5.3. Самостоятельная работа по теме:
Студент создает собственную форму в MS Word руководством по созданию форм и мини-приложений, расположенным на сайте дистанционного обучения cdo.krasgmu.ru.
5.4 Итоговый контроль знаний:
- ответы на вопросы по теме занятия;
- решение ситуационных задач;
- тестовых заданий по теме.
Вопросы по теме занятия:
1. Что такое VBA?
2. Что такое ООП?
3. Перечислите объекты VBA.
Тестовые задания по теме занятия:
1. В MS OFFICE КНОПКА ЗАПУСКА РЕДАКТОРА MS VISUAL BASIC НАХОДИТСЯ НА ВКЛАДКЕ ЛЕНТЫ…
1) главная
2) вставка
3) разработчик
4) ссылки
2. ДЛЯ ДОБАВЛЕНИЯ НОВОЙ ФОРМЫ (USERFORM) В РЕДАКТОРЕ VISUAL BASIC ДЛЯ ТЕКУЩЕГО ПРОЕКТА СУЩЕСТВУЮТ СПОСОБЫ:
а) нажать кнопку "Insert UserForm" на панели инструментов и в выпадающем списке выбрать UserForm
б) нажать кнопку "Insert UserForm" на панели инструментов и в выпадающем списке выбрать Module
в) в окне стуктуры проекта щелкнуть правой кнопкой по пункту Project(название_документа) и выполнить команду Insert - UserForm
г) в окне стуктуры проекта щелкнуть правой кнопкой по пункту Project(название_документа) и выполнить команду Insert – Module
1) а,б
2) а,в
3) б,г
4) а,г
3. ДОБАВИТЬ МЕТКУ (ЭЛЕМЕНТ УПРАВЛЕНИЯ LABEL) ИЗ ПАНЕЛИ ИНСТРУМЕНТОВ В ФОРМУ МОЖНО СЛЕДУЮЩИМИ СПОСОБАМИ…
а) сначала кликнуть элемент в Панели инструментов, а потом кликнуть по форме
б) сначала кликнуть по форме форму, а потом – по элементу управления в Панели инструментов
в) кликнуть мышью элемент в Панели инструментов и ждать, когда он появится на форме
г) перетащить элемент управления из Панели инструментов на форму
1) а,б
2) а,в
3) а,г
4) б,в
4. КОМБИНАЦИЯ КЛАВИШ, КОТОРАЯ ПОЗВОЛЯЕТ ПРЕРВАТЬ ВЫПОЛНЕНИЕ ДЕЙСТВУЮЩЕГО МАКРОСА…
1) Ctrl + Al t + Break
2) Ctrl + Alt
3) Alt + Break
4) Ctrl + Break
5. ЭЛЕМЕНТ УПРАВЛЕНИЯ "ПОЛЕ СО СПИСКОМ" ТАКЖЕ ИЗВЕСТЕН КАК…
1) CheckBox
2) ComboBox
3) ListBox
4) TextBox
Ситуационные задачи:
Задача №1
Вам необходимо отредактировать документ большого объема: всем заголовкам глав, разделов, подразделов, пунктов и подпунктов необходимо назначить разные стили.
1. Что можно сделать для ускорения данного процесса?
2. Нужно ли сохранять макрос в шаблоне normal.dotm? Ответ поясните.
Задача №2:
Вы создали макрос в Microsoft Word, который автоматически форматирует выделенный текст следующим образом:
· Шрифт: Times New Roman, 14-й, курсивный
· Цвет шрифта: красный.
3. Как изменить этот макрос, чтобы в результате шрифт был еще и полужирным?
4. Как изменить этот макрос, чтобы в результате цвет шрифт был синим?
6. Домашнее задание для уяснения темы занятия: учебно-методические разработки следующего занятия и методические разработки для внеаудиторной работы № 7 «Создание приложения средствами VBA».
7. Рекомендации по выполнению НИРС, в том числе список тем, предлагаемых кафедрой– нет.
Занятие №12
Тема: «СУБД. Технологии обработки данных. Проектирование базы данных в зависимости от поставленной задачи. Создание баз данных».
2. Форма организации учебного процесса: практическое.
3. Значение темы:изучение принципов работы баз данных, типов данных поможет социальному работнику понимать принципы работы информационных систем, а также позволит разрабатывать базы данных для проведения научных исследований в своей учебной и профессиональной деятельности.
4. Цели обучения:
- общая:
обучающийся должен понимать сущность и значение информации в развитии современного информационного общества, сознавать опасности и угрозы, возникающие в этом процессе, соблюдать основные требования информационной безопасности, в том числе защиты государственной тайны (ОК-11);
владеть основными методами, способами и средствами получения, хранения, переработки информации, иметь навыки работы с компьютером как средством управления информацией (ОК-12);
- учебная:
знать способы хранения информации в медицинских и биологических системах, основные подходы к формализации и структуризации различных типов данных;
уметь проводить обработку социальных данных с использованием стандартных средств операционной системы и общепринятых офисных приложений, а также прикладных и специальных программных средств;
владеть базовыми технологиями преобразования информации.
5. План изучения темы:
5.1 Контроль исходного уровня знаний:
- тест на сайте дистанционного обучения cdo.krasgmu.ru;
- контроль выполнения внеаудиторной работы № 6 по теме «Статистическая обработка социологических данных и их графическое представление в электронных таблицах».
Основные понятия и положения темы
Этапы проведения исследования от разработки вопросов анкеты до проведения статистической обработки:
1. Разработать анкету (одну или несколько)
2. Размножить их в нужном количестве
3. Заполнять анкеты по мере накопления материала
4. Вносить данные в компьютер для последующей статистической обработки и анализа.
5. Осмыслить план статистической обработки.
6. Обработать материал самому или обратиться к специалистам
База данных – это электронное хранилище данных, которые упорядочены в виде таблиц. Проще говоря, база данных – это совокупность таблиц. В простейшем случае база данных содержит всего одну таблицу.
Объекты базы данных:
Таблицы – основные объекты любой БД, в которых хранятся все данные, имеющиеся в базе, и хранится сама структура базы (поля, их типы и свойства).
Запросы – служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С их помощью выполняют отбор данных, их сортировку и фильтрацию. Можно выполнить преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое заполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу (моментальный снимок) – образ отобранных из базовых таблиц полей и записей. Работа с образом происходит быстрее и эффективнее, нежели с таблицами, хранящимися на жестком диске.
Обновление БД тоже можно осуществить посредством запроса. В базовые таблицы все данные вносятся в порядке поступления, т.е. они не упорядочены. Но по соответствующему запросу можно получить отсортированные и отфильтрованные нужным образом данные.
Формы – средства для ввода данных, предоставляющие пользователю необходимые для заполнения поля. В них можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Пример, заполнение определенных полей бланка. При выводе данных с помощью форм можно применять специальные средства их оформления.
Отчеты – предназначены для вывода данных, причем для вывода не на экран, а на печатающее устройство (принтер). В них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, время создания отчета и другое).
Макросы и модули – предназначены для автоматизации повторяющихся операций при работе с системой управления БД, так и для создания новых функций путем программирования. Макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования. Это одно из средств, с помощью которых разработчик БД может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, уровень ее защищенности.
Таблицы
Таблица базы данных похожа на обычную таблицу, в которой строки соответствуют единицам наблюдения, а столбцы – исследуемым параметрам этих единиц наблюдения. Единицами наблюдения могут быть люди, лабораторные животные и вообще любые объекты, которые исследователь изучает и которых много. Исследуемые параметры – это характеристики, свойства этих объектов, которые измеряет или «добывает» исследователь (например, пол, возраст, лабораторные параметры, ответы на вопросы анкеты и т.д.).
Строки в таблицах баз данных имеют специальное название – записи.
Столбцы в таблицах баз данных тоже имеют специальное название – поля.
Таблица базы данных всегда имеет хотя бы одно поле (т.е. таблица не может не иметь ни одного поля). Однако таблица может не иметь ни одной записи, в этом случае говорят, что таблица пуста.
Таблицы баз данных MS Access (наиболее простой программы для работы с базами данных) имеют ограничение на количество полей – не более 255. Однако я рекомендую ограничиваться не более чем 200 полями в одной таблице из некоторых технических соображений.
Ключевое поле- это поле, значение которого однозначно определяет запись в таблице (например, в таблице «Пациенты», это будет «Номер истории болезни», в таблице «Налогоплательщики РФ» - это ИНН.