90
> '«УТВЕРЖДЕНО» / /Pfttop НОУУНЩ^МУ I тШя/ УЧЕБНО-НАУЧНО-ПРОИЗВОДСТВЕННЫЙ КОМПЛЕКС «МЕЖДУНАРОДНЫЙ УНИВЕРСИТЕТ КЫРГЫЗСТАНА» СТРУКТУРНОЕ ПОДРАЗДЕЛЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «СОГЛАСОВАНО» Проректор по учебно-административной работе НОУ УНПК «МУК», д.и.н., доц. Муса кызы Алина 0 > 505200» ' / 44 г. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС Название дисциплины: «Объектно-ориентированное программирование» Название и код направления подготовки: 230111 Программирование в компьютерных системах Квалификация выпускника: Техник-программист Форма обучения: очная Составитель(и): Орунбаев А.А. График проведения модулей 3-Семестр неделя 1 2 3 4 |1 6 7 8 9 10 11 12 13 14 15 16 17 лекц. зан. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Прак. Зан. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 «РАССМОТРЕНО» На заседании предметно-цикловой комиссии СПО «Таалим» НОУ УНПК «МУК» Протокол № Ь от « «_» LL 20/? г. Директор СПО «Таалим» - председатель предметно-цикловой комиссии, Жумукова А.С. «ОДОБРЕНО» На заседании Учебно-методического объединения НОУ УНПК «МУК» Протокол от « /5 » У/ 20/^г Председатель Учебно-методического объединения Матвеева Т.В. Директор Научной библиотеки НОУ УНПК «МУК» Асанова Ж.Ш. Бишкек 2019 г.

УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

> '«УТВЕРЖДЕНО»/ /P f t to p НОУУНЩ^МУ I

тШ я/

УЧЕБНО-НАУЧНО-ПРОИЗВОДСТВЕННЫЙ КОМПЛЕКС «МЕЖДУНАРОДНЫЙ УНИВЕРСИТЕТ КЫРГЫЗСТАНА»

СТРУКТУРНОЕ ПОДРАЗДЕЛЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«СОГЛАСОВАНО»Проректор по учебно-административной работе НОУ УНПК «МУК», д.и.н., доц.Муса кызы Алина

0 > 50 5200 » ' /

44 г.

УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС

Название дисциплины: «Объектно-ориентированное программирование»

Название и код направления подготовки: 230111 Программирование в компьютерных

системах

Квалификация выпускника: Техник-программист

Форма обучения: очная

Составитель(и): Орунбаев А.А.

График проведения модулей

3-Семестр

неделя 1 2 3 4 | 1 6 7 8 9 10 11 12 13 14 15 16 17лекц. зан. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3Прак. Зан. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

«РАССМОТРЕНО»На заседании предметно-цикловой комиссии СПО «Таалим» НОУ УНПК «МУК»Протокол № Ьот « «_» LL20/? г.Директор СПО «Таалим» - председатель предметно-цикловой комиссии, Жумукова А.С.

«ОДОБРЕНО»На заседании Учебно-методического объединения НОУ УНПК «МУК» Протоколот « /5 » У/ 20 /^гПредседатель Учебно-методического объединения Матвеева Т.В.

Директор Научной библиотеки НОУ УНПК «МУК» Асанова Ж.Ш.

Бишкек 2019 г.

Page 2: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

ОГЛАВЛЕНИЕАННОТАЦИЯ 31 УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ (МОДУЛЕЙ) 41. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 41Л Миссия и стратегия 41.2Цель и задачи дисциплины 41.3Формируемые компетенции, а также перечень планируемых результатов обучения по дисциплине. 41.4. Место дисциплины (модулей) в структуре ООП СПО 62 СТРУКТУРА ДИСЦИПЛИНЫ 63 СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 94 КОНСПЕКТ ЛЕКЦИЙ - ПРИЛОЖЕНИЕ 1 135 ИНФОРМАЦИОННЫЕ И ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ 146 ФОНД ОЦЕНОЧНЫХ СРЕДСТВ ДЛЯ ТЕКУЩЕГО, РУБЕЖНОГО ИИТОГОВОГО КОНТРОЛЕЙ ПО ИТОГАМ ОСВОЕНИЮ ДИСЦИПЛИНЫ (МОДУЛЕЙ) 20бЛПеречень компетенций с указанием этапов их формирования в процессе освоения дисциплины 206.2. Методические материалы, определяющие процедуры оценивания знаний, умений, навыков и (или) опыта деятельности 236.30писание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал оценивания 256.4. Типовые контрольные задания или иные материалы, необходимые для оценкизнаний, умений, навыков и (или) опыта деятельности. 267 УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕДИСЦИПЛИНЫ 307.1 Список источников и литературы 307.2Перечень ресурсов информационно-телекоммуникационной сети «Интернет», необходимый для освоения дисциплины (модулей) 308 ПЕРЕЧЕНЬ УЧЕБНО-МЕТОДИЧЕСКОГО ОБЕСПЕЧЕНИЯ ДЛЯСАМОСТОЯТЕЛЬНОЙ РАБОТЫ ОБУЧАЮЩИХСЯ 318.1. Планы практических (семинарских) и лабораторных занятий. 318.2. Методические указания для обучающихся по освоению дисциплины (модулей) 318.3. Методические рекомендации по подготовке отчетов по лабораторным работам 319 МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 3110 ГЛОССАРИЙ 3211 ПРИЛОЖЕНИЯ 34

2

Page 3: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

АННОТАЦИЯ

Основная цель данного курса - изучение основных понятий объектно-ориентированного программирования (ООП), алгоритмизации и создания классов; объектно-ориентированного подхода; ООП среды программирования, изучение инструментов языка VBА для реализации объектно-ориентированного программирования

3

Page 4: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

1 УЧЕБНО-МЕТОДИЧЕСКИИ КОМ ПЛЕКС ДИСЦИПЛИНЫ (МОДУЛЕЙ)1. Пояснительная записка1.1 Миссия и стратегия

Миссия НОУ УНИК «МУК» - подготовка международно - признанных, свободно мыслящих специалистов, открытых для перемен и способных трансформировать знания в ценности на благо развития общества.

Главная цель Стратегии развития НОУ УНПК «МУК» на период с 2018 по 2023 г.г. соответствие уровня научно-образовательных технологий университета высоким современным требованиям.

1.2 Цель и задачи дисциплиныЦель дисциплины:Повысить уровень подготовки и знаний по программированию у студентов,

позволяющий самостоятельно разрабатывать и составлять программы на консольном языке программирования, сформировать у студентов целостную систему знаний по основам школьного курса информатики, выработать навыки решения физических и прикладных задач.

Получить навыки разработки и практического создания приложений на консольном (VBA) языке программирования. После прохождения курса студент должен хорошо знать основы и принципы программирования для решения учебных, научных и прикладных задач.

Задачи дисциплин ы:1. изучить номенклатуру, назначение и принципы функционирования основных

логических и программных модулей.2. изучить систему команд управления;3. изучить структуру (количество и наименование разделов, назначение команд,

принадлежащих разделу) прикладного программного интерфейса;4 получить практику в его использовании; получить практику в

администрировании одной из ОС.1.3 Формируемые компетенции, а также перечень планируемых результатов

обучения по дисциплине.Дисциплина направлена на формирование следующих компетенций:OKI. Уметь организовать собственную деятельность, выбирать методы и способы

выполнения профессиональных задач, оценивать их эффективность и качество.ОКЗ. Осуществлять поиск, интерпретацию и использование информации, необходимой

для эффективного выполнения профессиональных задач, профессионального и личностного развития.

ОК4. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК9. Быть способным анализировать и оценивать социально-экономические и культурные последствия новых явлений в науке, технике и технологии, профессиональной сфере.

ПК2. Быть способным дать характеристику и определить возможности программных продуктов.

ПКЗ. Быть способным дать характеристику и определить возможности языков, сред программирования, применять средства и технологии конкретного языка программирования в решении задач программирования.

ПК5. Быть способным применять основные методы и технологии структурного, модульного, объектно-ориентированного и визуального программирования при решении профессиональных задач обработки информации на конкретном языке программирования.

ПК6. Быть способным разрабатывать, интегрировать и оптимизировать алгоритм, код программного обеспечения на основе готовых спецификаций на уровне модуля, владеть приемами отладки и тестирования программного обеспечения.

ПК9. Быть способным осуществлять модификацию, адаптацию и настройку программного обеспечения и владеть базовыми инструментами разработки программных обеспечения.

4

Page 5: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

ПК10. Быть способным использовать математические методы, в том числе дискретной математики в разработке алгоритмов.

В результате освоения дисциплины обучающийся должен демонстрировать следующие результаты образования:

1. Знать:- стандартное программное обеспечение, необходимое в профессиональной деятельности;- виды поисковых систем для нахождения необходимой информации;- возможности использования ресурсов сети Интернет для совершенствования профессиональной деятельности, профессионального и личностного развития.- базовые конструкции изучаемых языков программирования;- принципы структурного и модульного программирования;- принципы объектно-ориентированного программирования;- основные модели алгоритмов;

2. Уметь:- выполнять приближенные вычисления;- использовать современные информационно-коммуникационные технологии (включая пакеты прикладных программ, локальные и глобальные компьютерные сети) для сбора, обработки и анализа информации, в том числе правовой, в профессиональной деятельности;- производить инсталляцию и настройку программного обеспечения компьютерных систем;-работать в среде программирования;-реализовать построенные алгоритмы в виде программ на конкретном языке программирования;- разрабатывать алгоритмы для конкретных задач;- определять сложность работы алгоритмов;- использовать методы для получения кода с заданной функциональностью и степенью качества;- применять модели процесса разработки программного обеспечения;- использовать сервисы и информационные ресурсы сети Интернет в профессиональной деятельности.- использовать методы и средства представления данных и знаний о предметной области;

3. Владеть:- навыками работы с программными средствами общего и профессионального назначения;- навыками сбора и обработки информации, имеющей значение для реализации правовых норм в соответствующих сферах профессиональной деятельности.- использования в составе прикладных программ типовые алгоритмы и стандартные процедуры программирования;- применения средств и технологий конкретного языка програмирования в решении задач программирования;- применять методы и технологии объектно-ориентированного и визуального программирования при решении профессиональных задач обработки информации на конкретном языке программирования;- навыками применения известных алгоритмов поиска и сортировки при решении прикладных задач;

5

Page 6: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

1.4. Место дисциплины (модулей) в структуре ООП СПОДисциплина «Объектно-ориентированное программирование» является частью

профессионального цикла (блока) дисциплин учебного плана по направлению подготовки 230111 «Техник программист» (специализации «Техник программист»).

Для освоения дисциплины (модулей) необходимы компетенции, сформированные в ходе изучения следующих дисциплин и прохождения практик: основные разделы математики, программирования.

2 Структура дисциплиныОбщая трудоемкость дисциплины составляет 180ч., в том числе аудиторная работа

обучающихся с преподавателем 108ч., лекционные - 64, семинарские - 44, самостоятельная работа обучающихся 72 ч.

1 семестр

Наименование разделов и тем

Очная форма обучения

Количество часов

Лекции Практ. СРСВсего часов по теме

Тема 1 Макросы и VBA 1 1 2 4

Тема 2 Редактор VBA 1 1 2 4

Тема 3 Как создать макрос? 2 1 2 5

Тема 4 Как выполнять макрос? 2 1 2 5

Тема 5 Объектная модель приложений 1 1 2 4

Модуль №1 1 1

Тема 6 объекты приложений. 2 1 2 5

Тема 7 Свойсва и методы объектов MS Word. 2 1 2 5

Тема 8 Свойсва и методы объектов MS Excel. 2 1 2 5

Тема 9 Основы языкаVBA 2 1 2 5

Тема 10 Синтаксис языка 1 1 2 4

Модуль №2 1 1

Тема 11 Операторы 2 1 2 5

Тема 12 Константы 2 1 2 5

Тема 13 Переменные 2 2 2 6

6

Page 7: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Тема 14 . Основные конструкции языка VBA 2 2 2 6

Тема 15 основы алгоритмизации 2 2 2 6

Тема 16 Управляющая конструкция IF 1 2 3 6

Модуль №3 1 1

Тема 17 Управляющая конструкция Select Case 2 2 3 7

Сумма 32 22 36 90

2 семестр

Наименование разделов и тем

Очная форма обучения

Количество часов

Лекции Практ. СРСВсего часов по теме

Тема 1 Цикл For-Next 1 1 2 4

Тема 2 Цикл Do While и Do Until 1 1 2 4

Тема 3 Цикл For Each Next 2 1 2 5

Тема 4 Цикл While Wend 2 1 2 5

Тема 5 Переход Go to 1 1 2 4

Модуль №1 1 1

Тема 6 Пользовательские функции и процедуры 2 1 2 5

Тема 7 Интерфейсные элементы 2 1 2 5

Тема 8 Панели инструментов 2 1 2 5

Тема 9 Управление элементами 2 1 2 5

Тема 10 Подготовка и управление списками 1 1 2 4

Модуль №2 1 1

Тема 11 Диалоговые окна 2 1 2 5

Тема 12 Управление приложениями 2 1 2 5

Тема 13 Меню и панели инструментов 2 2 2 6

7

Page 8: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Тема 14 . Пример 2 2 2 6создания менюТема 15 Пример создания 2 2 2 6пенели инструментовТема 16 Управление базой 1 2 3 6данных

Модуль №3 1 1

Тема 17 Расчетно 2 2 3 7графическая работаСумма 32 22 36 90

Итого за учебный год 108 ч. 72 ч. 180

8

Page 9: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

3 Содержание дисциплины

№ Наименование раздела, темы дисциплины

Краткое содержание

1. Тема 1 Макросы и VBA VBA (Visual Basic for Application) - единый для всех приложений Microsoft Office язык программирования, построенный на основе Visual Basic. § На Visual Basic создают исполняемый (.ехе) файл. § На VBA - создают документы (.doc, .xls, .mdb, и др.) с элементами автоматизации при работе с ними

2. Тема 2 Редактор VBA Редактор VBA - интегрируемая среда разработки приложений (рис. 1.1), в которой разрабатываются интерфейсные элементы и программы (код с программами и функциями, диалоговые окна и программыобработчики событий).

3. Тема 3 как создать макрос? Запись макроса с помощью Macro Recordera: • открыть диалог Сервис Макрос Начать запись; • в диалоге задать имя макроса и назначить комбинацию клавиш для его запуска; • после нажатия Ok на листе должна появиться панель “Остановка записи”; • при записи макроса с относительными ссылками включить кнопку «Относительная ссылка» на панели “Остановка записи”; • используя команды Меню, проделать все действия, которые нужно записать (рекомендуется их предварительно отрепетировать); • закончить запись, нажав кнопку «Остановить запись» на панели “Остановка записи”.

4. Тема 4 Как выполнять макрос?

Способы запуска макроса: • по цепочке Меню: Сервис Макрос (выбрать из списка) Выполнить; • по назначенной комбинации клавиш (во время записи или позднее); • по кнопке на панели инструментов (кнопку создают программно или вручную); • непосредственно из кода проекта VBA, выполнив команду Run (используется при отладке кода); • связать вызов макроса с графическим объектом, размещенным в рабочей области листа; • программно, например при создании или открытии документа.

5. Тема 5 Объектная модель приложений

Вся функциональность программ VBA, работающих в приложениях Microsoft Office, построена на работе с классами и объектами. Класс можно представить как "чертеж" или шаблон с некоторой функциональностью, по которому создаются объекты - экземпляры классов. С точки зрения объектно­ориентированного программирования, класс - это абстракция, объединяющая объекты в одну группу согласно их свойствам и поведению.

9

Page 10: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

6. Тема 6 объекты приложений.

Объекты приложений Семейства и классы Совокупность объектов, относящихся к одному типу, составляет семейство (например, все открытые документы приложения Word - объекты Document - составляют семейство Documents).

7. Тема 7 Свойсва и методы объектов MS Word

Таблица 2.1 - Перечень наиболее часто используемых свойств объектов Word

8. Тема 8 Свойсва и методы объектов MS Excel

Таблица 2.3 - Перечень наиболее часто используемых свойств семейств и объектов Excel

9. Тема 9 Основы языка VBA Редактор VBA в отличие от обычных текстовых процессоров: 1) изменяет написание некоторых слов, делая их единообразными; 2) выделяет синим цветом зарезервированные ключевые слова; 3) выделяет зеленым цветом комментарии, которые начинаются с символа кавычка (‘); 4) выделяет красным цветом синтаксические ошибки; 5) длина строки не ограничена - длинные строки редактор делит на части, используя для обозначения переноса пробел и символ подчеркивания ( )

10. Тема 10 Синтаксис языка Синтаксис языка Правила выбора имен в VBA едины для многих элементов (переменных, констант, функций, процедур и т. и.): • имя должно начинаться с буквы; • имя не должно содержать пробелов и символов пунктуации (исключение — символ подчеркивания); • имя должно быть уникальным в текущей области видимости; • нельзя использовать зарезервированные слова (те, которые подсвечиваются синим цветом в окне редактора кода).

11. Тема 11 . Операторы Оператор— это наименьшая способная выполняться единица кода VBА. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе.

12. Тема 12 Константы Константы — еще один контейнер для хранения данных, но, в отличие от переменных, они не изменяются в ходе выполнения VBA- программы. В VBA встроено множество служебных констант: календарных, для работы с файлами, цветами, формами, типами дисков и т. и. Например, константа vbCrLf позволяет произвести переход на новую строку, а константа VbOkOnly задает вид кнопки.

13. Тема 13 Переменные Переменные — это контейнеры для хранения изменяемых данных. Для простоты переменную можно сравнить с номерком в гардеробе — вы сдаете в гардероб какие-то данные, в ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы " предъявляете номерок" и получаете их

10

Page 11: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

14. Тема 14 . Основные конструкции языка VBA

К основным конструкциям управления ходом выполнения программы в VBA относятся операторы перехода и выбора и операторы повтора.

15. Тема 15 основы алгоритмизации

Основные шаги, которые следует выполнять при решении задач на VBA. Постановка задачи Формулировка цели. Анализ величин, используемых в задаче и определение условий, при которых она решается. Алгоритмизация вычислительного процесса Определение цепочки действий, приводящих к решению задачи. Разбиение процесса решения на блоки и установка последовательности их выполнения. Разработка блоксхемы алгоритма. Отладка программы Перевод на машинный язык (компиляция или интерпретация), выявление и исправление ошибок. Тестирование на реальных данных. Решение задачи и анализ результатов Многократное выполнение задачи на различных наборах исходных данных.

16. Тема 16 Управляющая конструкция IF

Управляющая конструкция IF

17. Тема 17 Управляющая конструкция Select Case

Оператор выбора Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия.

2 семестр

№ Наименование раздела, темы дисциплины

Краткое содержание

18. Тема 1 Цикл For-Next О ператор цикла Fo r-N ext служит для

выполнения одного оператора или их группы

указанного числа раз.

19. Тема 2 Цикл Do While и Do Until

Для организации циклов с неизвестным заранее числом шагов используются следующие операторы цикла: Do While-Loop, Do Until-Loop; Do-Loop While, Do-Loop Until

20. Тема 3 Цикл For Each Next Цикл For-Each-Next применяется к массивам (элементам) и наборам объектов (например, ячейкам из диапазона).

21. Тема 4 Цикл While Wend Цикл While-Wend используется для организации цикла с неизвестным заранее числом шагов (т.е. многократное выполнение блока операторов, пока условие принимает значение True).

22. Тема 5 Переход Go to Оператор безусловного перехода GoTo задает переход на указанную строку (метку) внутри процедуры.

23. Тема 6 Пользовательские функции и процедуры

Хорошая программ - это та, которая работает, но и работающая программа может

11

Page 12: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

быть плохой, если она написана непонятно! Программы надо комментировать, обязательно описывать переменные, присваивать именам переменных и процедур описательно-понятные имена, использовать отступы для форматирования текста программ. Процедурой называют программу или часть программы, имеющую собственное имя.

24. Тема 7 Интерфейсные элементы

При разработке программ разумно применять доступный диапазон инструментов, который предоставляет среда офисных приложений. К визуальным элементам Windows- приложений относятся поля для ввода и редактирования текста, списки, переключатели, кнопки и другие объекты, позволяющие придать интерактивность вашему приложению - оно будет откликаться на ваши действия. Это относится и к применению диалоговых окон для управления работой приложения.

25. Тема 8 Панели инструментов На рабочем листе Excel (чаще всего, в шаблонах) можно размещать элементы управления, с помощью которых можно автоматизировать заполнение или выборку данных и их последующую обработку. Для этого можно использовать панели инструментов «Формы» или «Элементы управления»

26. Тема 9 Управление элементами

Каждый элемент управления - объект со специальными свойствами, методами и событиями. Перечислим стандартные элементы управления: Label (Надпись), TextBox (Поле), ComboBox (Поле со списком), ListBox (Список), CheckBox (Флажок), OptionButton (Переключатель), ToggleBitton (Выключатель), CommandButton (Кнопка), MultiPage (Набор страниц), Reffidit (Поле для получения диапазона листов), ScrollBar (Полоса прокрутки), SpinButton (Счетчик), Image (Изображение).

27. Тема 10 Подготовка и управление списками

Списки часто используются для управления приложением, поскольку позволяют исключить ручной набор информации и предотвращают возможные ошибки ввода. На рисунке 6.15 продемонстрированы два списковых элемента: в первом данные в строке списка разделены пробелом, а во втором мы видим многоколончатый список (в данном случае имеем три колонки).

28. Тема 11 . Диалоговые окна. В VBA используются стандартные диалоговые окна, которые формируют процедуры и функции MsgBox и функция InputBox, но возможности их достаточно ограничены..

29. Тема 12 Управление приложениями

Кроме разработки нестандартных диалоговых окон с VBA имеются средства, которые позволяют разрабатывать завершенные

12

Page 13: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

профессиональные программы: меню и панели инструментв.

30. Тема 13 Меню и панели инструментов

Все приложения MS Office реализуют строки меню и панели инструментов в виде различных подтипов одного класса объектов: объекта CommandBar. Этот объект является контейнером и может содержать объекты CommandContro

31. Тема 14 . Пример созданияменю

Макрос DeleteMenuBar удаляет панель "Моя строка меню". Макрос MakeMenuBar создает панель "Моя строка меню", причем сначала вызывается макрос на ее удаление, если она была. Далее происходит добавление панели и настройки ее вида и действий.

32. Тема 15 Пример создания пенели инструментов

Требуется разработать панель инструментов кнопкой для выбора месяца. Обработчики событий при работе с книгой представлены на рисунке 8.7.

33. Тема 16 Управление базой данных

В рабочей книге Excel на листе "Список" будем создавать и управлять (редактировать и копировать) линейной базой данных. В нашем примере в базу будем вводить три поля: фамилию, должность и телефон. Причем, повторов по записям не должно быть (это мы будем контролировать программно при вводе и корректировке записей). Кроме того, любой выделенный диапазон из источника мы будем копировать на другой лист и делать это будем, конечно, через диалог.

34. Тема 17 Расчетно графическая работа

Расчетно-графическая работа (РГР) должна быть выполнена и оформлена в электронной таблице MS Excel и сдана преподавателю на электронном носителе и в распечатанном виде (титульный лист (рис. 9.4), тексты заданий, экранные копии результатов и листинги процедур) не позднее указанного им срока.

35. Тема 18 Робототехника Практическая работа с роботами

4 Конспект лекций - ПРИЛОЖЕНИЕ 1

13

Page 14: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

5 Информационные и образовательные технологии

№п/п

Наименован ие раздела

Виды учебной работы

Формируем ые компетенции (указывается код компетенции)

Информационн ые и образовательные технологии

1 2 3 4 52 Тема 1 Макросы и

VBAЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

3 Тема 2 Редактор VBA

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

4 Тема 3 как создать макрос?

ЛекцияПрактика.С амостоятел ьная работа

(ОК-4)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

6 Тема 4 Как выполнять макрос?

ЛекцияПрактика.С амостоятел ьная работа

(ОК-9)(ПК-2)(ПК-6)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

7 Тема 5 Объектнаямодельприложений

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1) (ПК-3) (ПК-10)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме

14

Page 15: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Подготовка к занятию сиспользованием электронного курса лекций

8 Тема 6 объекты приложений.

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-6)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

9 Тема 7 Свойсва и методы объектов MS Word.

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

10

Тема 8 Свойсва и методы объектов MS Excel.

Лекция Практика

С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

11

Тема 9 Основы языка VBA

Лекция Практика С амостоятел ьная работа

(ОК-4)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 10 Синтаксис языка

Лекция Практика С амостоятел ьная работа

(ОК-9)(ПК-2)(ПК-6)

Лекция-визуализация с согласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием

15

Page 16: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

электронного курса лекций

Тема 11 Операторы

Лекция Практика С амостоятел ьная работа

(ОК-1) (ПК-3) (ПК-10)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 12 Константы

Лекция Практика С амостоятел ьная работа

(ОК-3)(ПК-6)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 13 Переменные

Лекция Практика С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 14 .Основные конструкции языка VBA

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 15 основы алгоритмизации

ЛекцияПрактика.С амостоятел ьная работа

(ОК-4)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

16

Page 17: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Тема 16 Управляющая конструкция IF

ЛекцияПрактика.С амостоятел ьная работа

(ОК-9)(ПК-2)(ПК-6)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 17 Управляющая конструкция Select Case

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1) (ПК-3) (ПК-10)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 18 Цикл For- Next

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-6)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 19 Цикл Do While и Do Until

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 20 Цикл For Each Next

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 21 Цикл While_Wend

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия

17

Page 18: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лабораторная работа по теме Подготовка кзанятию сиспользованиемэлектронноголекций

курса

Тема 22 Переход Лекция (ОК-4) Лекция-Got o Практика. (ПК-9) визуализация с

С амостоятел ьная согласно теме занятияработа Лабораторная

работа по теме Подготовка кзанятию сиспользованиемэлектронноголекций

курса

Тема 23 Лекция (ОК-9) Лекция-Пользовательские Практика. (ПК-2) визуализация сфункции и С амостоятел ьная (ПК-6) согласно теме занятияпроцедуры работа Лабораторная

работа по теме Подготовка кзанятию сиспользованиемэлектронноголекций

курса

Тема 24 Лекция (ОК-1) Лекция-Интерфейсные Практика. (ПК-3) визуализация сэлементы С амостоятел ьная (ПК-10) согласно теме занятия

работа Лабораторная работа по теме Подготовка кзанятию сиспользованиемэлектронноголекций

курса

Тема 25 Панели Лекция (ОК-3) Лекция-инструментов Практика. (ПК-6) визуализация с

С амостоятел ьная (ПК-9) согласно теме занятияработа Лабораторная

работа по теме Подготовка кзанятию сиспользованиемэлектронноголекций

курса

Тема 26 Лекция (ОК-1) Лекция-Управление Практика. (ПК-2) визуализация сэлементами С амостоятел ьная (ПК-9) согласно теме занятия

работа Лабораторная работа по теме Подготовка кзанятию с

18

Page 19: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

использованием электронного курса лекций

Тема 27 Подготовка и управление списками

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 28 Диалоговые окна

ЛекцияПрактика.

С амостоятел ьн ая работа

(ОК-4)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 29Управлениеприложениями

ЛекцияПрактика.С амостоятел ьная работа

(ОК-9)(ПК-2)(ПК-6)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 30 Меню и панелиинструментов

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1) (ПК-3) (ПК-10)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 31 Пример создания меню

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-6)(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

19

Page 20: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Тема 32 Пример создания пенели инструментов

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 33Управление базой данных

ЛекцияПрактика.С амостоятел ьная работа

(ОК-1)(ПК-2)

(ПК-9)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 34 Расчетнографическаяработа

ЛекцияПрактика.С амостоятел ьная работа

(ОК-3)(ПК-3)

(ПК-5)

Лекция-визуализация ссогласно теме занятия Лабораторная работа по теме Подготовка к занятию с использованием электронного курса лекций

Тема 35 Робототехника

Лекция Практика С амостоятел ьная работа

(ОК-4)(ПК-9)

Лекция-визуализация ссогласно теме занятия Подготовка к занятию сиспользованием электронного курса лекций

6 Фонд оценочных средств для текущего, рубежного и итогового контролей поитогам освоению дисциплины (модулей)

6.1 Перечень компетенций с указанием этапов их формирования в процессеосвоения дисциплины

Перечень компетенций с указанием этапов их формирования в процессе освоения дисциплины представляется в виде таблицы:

№ Контролируем ые Код Наименованиеп/п разделы дисциплины

(модулей)контролируемой оценочного средства

20

Page 21: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

компетенции(компетенций)

1 Тема 1 Макросы иVBA

(ОК-1)(ПК-2)(ПК-9)(ОК-3)(ПК-3)(ПК-5)(ОК-4)(ПК-9)

Выполнение лабораторной работы № 1: Командный язык операционной системы.ТЕСТ

2 Тема 2 Редактор VBA

3 Тема 3 как создать макрос?

4 Тема 4 Как выполнять макрос?

(ОК-9) (ПК-2) (ПК-6) (ОК-1) (ПК-3)

(ПК-10)

Выполнение лабораторной работы № 2: Управление процессами ТЕСТ

5 Тема 5 Объектная модель приложений

6Тема 6 объекты

приложений.

7 Тема 7 Свойсва и методы объектов MS Word.

(ОК-1)(ПК-2)(ПК-9)(ОК-3)(ПК-3)(ПК-5)(ОК-4)(ПК-9)

Выполнение лабораторной работы № 3Управление памятью

ТЕСТ

8 Тема 8 Свойсва и методы объектов MS Excel.

9 Тема 9 Основы языкаVBA

10 Тема 10 Синтаксис языка

(ОК-9)(ПК-2)(ПК-6)

Выполнение лабораторной работы № 4 Управление файлами.

ТЕСТ

11 Тема 11 Операторы

(ОК-1) (ПК-3)

(ПК-10)Выполнение

лабораторной работы № 5: Файловые системы и диски.

ТЕСТ

12 Тема 12 Константы

(ОК-3)(ПК-6)(ПК-9)

Выполнениелабораторной работы № 6: Управление пользователями и группами. Установка лимитов и квот.

ТЕСТ

21

Page 22: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

13 Тема 13 Переменные

(ОК-1)(ПК-2)(ПК-9)

Выполнениелабораторной работы № 7: Резервное хранение данных.Программирование командных файлов.

ТЕСТ

Тема 14 . Основные конструкции языка VBA

(ОК-3)(ПК-3)(ПК-5)

Выполнениелабораторной работы № 7: ТЕСТ

Тема 15 основы алгоритмизации

(ОК-4)(ПК-9)

Выполнениелабораторной работы № 7: ТЕСТ

Тема 16Управляющая конструкция IF

(ОК-9)(ПК-2)(ПК-6)

Выполнениелабораторной работы № 7:

Тема 17Управляющая конструкция Select Case

(ОК-1) (ПК-3)

(ПК-10)Выполнение

лабораторной работы № 7:

Тема 18 Цикл For-Next

(ОК-3)(ПК-6)(ПК-9)

Выполнениелабораторной работы № 7:

Тема 19 Цикл Do While и Do Until

(ОК-1)(ПК-2)(ПК-9)

Выполнениелабораторной работы № 7:

Тема 20 Цикл For Each Next

(ОК-3)(ПК-3)(ПК-5)

Выполнениелабораторной работы № 7:

Тема 21 Цикл While_Wend

(ОК-4)(ПК-9) Выполнение

лабораторной работы № 7:

Тема 22 Переход Got o

(ОК-9)(ПК-2)(ПК-6)

Выполнениелабораторной работы № 7:

Тема 23Пользовательские функции и процедуры

(ОК-1) (ПК-3)

(ПК-10)Выполнение

лабораторной работы № 7:

Тема 24Интерфейсные элементы

(ОК-3)(ПК-6)(ПК-9)

Выполнениелабораторной работы № 7:

22

Page 23: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Тема 25 Панели инструментов

(ОК-1)(ПК-2)(ПК-9)

Выполнениелабораторной работы № 7:

Тема 26 Управление элементами

(ОК-3)(ПК-3)(ПК-5)

Выполнениелабораторной работы № 7:

Тема 27 Подготовка и управление списками

(ОК-4)(ПК-9) Выполнение

лабораторной работы № 7:

Тема 28 Диалоговыеокна

(ОК-9)(ПК-2)(ПК-6)

Выполнениелабораторной работы № 7:

Тема 29 Управление приложениями

(ОК-1) (ПК-3)

(ПК-10)Выполнение

лабораторной работы № 7:

Тема 30 Меню и панели инструментов

(ОК-1)(ПК-2)(ПК-9)

Выполнениелабораторной работы № 7:

Тема 31 Пример создания меню

(ОК-3)(ПК-3)(ПК-5)

Выполнениелабораторной работы № 7:

Тема 32 Пример создания пенели инструментов

(ОК-4)(ПК-9) Выполнение

лабораторной работы № 7:

Тема 33 Управление базой данных

(ОК-9)(ПК-2)(ПК-6)

Выполнениелабораторной работы № 7:

Тема 34 Расчетно графическая работа

(ОК-1) (ПК-3)

(ПК-10)Выполнение

лабораторной работы № 7:

Тема 35 Робототехника

(ОК-3)(ПК-6)(ПК-9) Практическое работа

6.2. Методические материалы, определяющие процедуры оценивания знаний, умений, навыков и (или) опыта деятельности

23

Page 24: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Методические материалы составляют систему текущего, рубежного и итогового (экзамена) контролей освоения дисциплины (модулей), закрепляют виды и формы текущего, рубежного и итогового контролей знаний, сроки проведения, а также его сроки и формы проведения (устный экзамен, письменный экзамен и т.п.). В системе контроля указывается процедура оценивания результатов обучения, при использовании балльно-рейтинговой системы приводится таблица с баллами и требованиями к пороговым значениям достижений по видам деятельности обучающихся; показывается механизм получения оценки (из чего складывается оценка по дисциплине (модулю).

Текущий контроль осуществляется в виде опроса, участие в дискуссии на семинаре, выполнение самостоятельной - оценивается до 80 баллов.

Рубежный контроль (сдача модулей) проводится преподавателем и представляет собой письменный контроль, либо компьютерное тестирование знаний по теоретическому и практическому материалу. Контрольные вопросы рубежного контроля включают полный объём материала части дисциплины (модулей), позволяющий оценить знания, обучающихся по изученному материалу и соответствовать УМК дисциплины, которое оценивается до 20 баллов.

Итоговый контроль (экзамен) знаний принимается по экзаменационным билетам, включающий теоретические вопросы и практическое задание, и оценивается до 20 баллов.

Форма контроля Срок отчетности Макс. количество баллов

За одну работу

Всего

Текущий контроль:- Прием лабораторных работ

-опрос

- посещаемость

1,2,3,4недели

1, 2,3,4недели

1,2,3,4неделя

8 баллов

6 баллов

2 балла

До 40 баллов

До 30 баллов

10баллов

Рубежный контроль: (сдача модуля)

5 неделя 100% х 0,2=20 баллов

Итого за I модуль До 100 баллов

Форма контроля Срок отчетности Макс.баллов

количество

За одну работу

Всего

Текущий контроль:- Прием лабораторных работ 5,6,7,8 недели 10

балловДо 40

баллов-опрос 5,6,7,8 недели 6 баллов До 30

баллов- посещаемость 5,6,7,8 недели 2 балла 10

баллов

24

Page 25: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

|Рубежный контроль: (сдача модуля)

10 неделя 100%х0,2=20 баллов

Итого за II модуль До 100 баллов

Форма контроля Срок отчетности Макс. количество баллов

За одну работу

Всего

Текущий контроль:- Прием лабораторных работ

-опрос

- посещаемость

9, 10, 11 недели

9, 10, 11 недели

9, 10, 11 недели

8 баллов

6 баллов

2 балла

До 40 баллов

До 30 баллов

10баллов

Рубежный контроль: (сдача модуля)

16 неделя 100%х0,2=20 баллов

Итого за III модуль До 100 баллов

Экзаменатор выставляет по результатам балльной системы в семестре экзаменационную оценку без сдачи экзамена, набравшим суммарное количество баллов, достаточное для выставления оценки от 55 и выше баллов - автоматически (при согласии обучающегося).

Полученный совокупный результат (максимум 100 баллов) конвертируется в традиционную шкалу:

Рейтинговая оценка (баллов) Оценка экзамена

От 0 - до 54 неудовлетворительноот 55 - до 69 включительно удовлетворительноот 70 - до 84 включительно хорошоот 85 - до 100 отлично

6.3 Описание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал оценивания

Текущий контроль (0 - 80 баллов)При оценивании посещаемости, опроса и приема лабораторных работ из расчета на

одну неделю учитываются:- посещаемость (2 балла одно занятие (10 баллов за модуль)- степень раскрытия содержания материала (2.8 балла одно занятие (14 баллов за

модуль);

25

Page 26: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

- изложение материала (грамотность речи, точность использования терминологии и символики, логическая последовательность изложения материала (2.8 балла одно занятие (14 баллов за модуль);

- знание теории изученных вопросов (2.8 балла одно занятие (14 баллов за модуль);- сформированность и устойчивость используемых при ответе умений и навыков (2.8

балла одно занятие (14 баллов за модуль);-точность решения задачи (2.8 балла одно занятие (14 баллов за модуль).

Рубежный контроль (0 — 20 баллов)При оценивании контрольной работы учитывается:- полнота выполненной работы (задание выполнено не полностью и/или допущены две

и более ошибки или три и более неточности) - 8 баллов;- обоснованность содержания и выводов работы (задание выполнено полностью, но

обоснование содержания и выводов недостаточны, но рассуждения верны) - 14 баллов;- работа выполнена полностью, в рассуждениях и обосновании нет пробелов или

ошибок, возможна одна неточность - 17 баллов.- работа выполнена полностью, в рассуждениях и обосновании нет пробелов или

ошибок - 20 баллов.При оценивании теста учитывается:- полнота выполненной работы (задание выполнено не полностью и/или допущены две

и более ошибки или три и более неточности) - до 20 баллов;

Итоговый контроль (экзаменационная сессия) - ИК = Бср х 0,8+Бэкз х 0,2При проведении итогового контроля обучающийся должен ответить на 3 вопроса (два

вопроса теоретического характера и один вопрос практического характера).При оценивании ответа на вопрос теоретического характера учитывается:- теоретическое содержание не освоено, знание материала носит фрагментарный

характер, наличие грубых ошибок в ответе (2 балла);- теоретическое содержание освоено частично, допущено не более двух-трех недочетов

(5 баллов);- теоретическое содержание освоено почти полностью, допущено не более одного-двух

недочетов, но обучающийся смог бы их исправить самостоятельно (8 баллов);- теоретическое содержание освоено полностью, ответ построен по собственному плану

(10 баллов).При оценивании ответа на вопрос практического характера учитывается:- ответ содержит менее 20% правильного решения (3 балла);- ответ содержит 21-89 % правильного решения (7 баллов);- ответ содержит 90% и более правильного решения (10 баллов).

6.4. Типовые контрольные задания или иные материалы, необходимые для оценки знаний, умений, навыков и (или) опыта деятельности.

Раздел УМК включает образцы оценочных средств, примерные перечни вопросов и заданий в соответствии со структурой дисциплины и системой контроля.Контрольные вопросы

1. В каком случае используется стиль ссылок Excel :А1, а в каком R1C1?Ответ:Стиль ссылок А1

26

Page 27: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

По умолчанию Excel использует стиль ссылок А1, определяющий столбцы буквами (от А до IV, всего не более 256 столбцов), а строки чисел (от 1 до 65536). Эти буквы и номера называются заголовками строк и столбцов. Для ссылки на ячейку введите букву столбца, за которым следует номер строки. Например D50 ссылается на ячейку на пересечении столбца D и строки 50.

Стиль ссылок R1C1Excel также можно использовать стиль ссылок R1C1, в котором номера строк и столбцов

на листе. Стиль ссылок R1C1 полезен, если нужно вычислить позиции столбцов и строк в макросах. В стиле R1C1 Excel указывает положение ячейки с «R», за которой идет номер строки и «С», за которой идет номер столбца.

2. В чем разница абсолютной и относительной адресации ссылок в Excel?Ответ:Абсолютная адресация не меняется если перемещается формула, на другое место,

страницу, листОтносительная адресация меняется, формула помнит "на сколько ячеек от нее по

горизонтали и вертикали надо взять данные"3. Когда целесообразно использовать абсолютную адресацию в Excel?Ответ:Абсолютная адресация используется в том случае, когда нужно использовать значение,

которое не будет меняться в процессе вычислений. Тогда записывают, например, так: =$А$5. Соответственно, при копировании такой формулы в другие ячейки текущего рабочего листа, в них всегда будет значение =$А$5.

4. Если написать макрос вручную, то какие обязательные операторы он должен содержать?Ответ:Sub и End sub, Dimm5. Каково назначение свойства Range?Ответ:Range указывает диапазон на листе excelОб'ект Range представляет собой ячейку или диапазон ячеек рабочего листа.6. Каково назначение метода Select?Ответ:Метод Select - это процедура без параметров, которая создает объект Selection в качестве

побочного эффекта. Объект Range имеет метод Select, превращающий область объекта Range в выделенную. Тем самым метод Select определяет новый объект Selection. Симметрично, объект Selection имеет свойство Range, возвращающее объект Range, соответствующий выделенной области.

7. Как вызвать систему помощи и получить справку по конкретному выражению макроса?Ответ:В программе visual basic, в окне редактирования макроса, выделяем курсором любое

выражение из кода мышкой и нажимаем F1.8. Как можно запустить макрос на выполнение?Запустить Макрос на выполнение можно следующим способом:

• 1 Выполнить команды Сервис-Макрос-Макросы или нажать комбинацию клавиш Alt+ F8.

• 2 В диалоговом окне необходимо указать/выбрать (если их несколько) имянеобходимого макроса и дважды щелкнуть по нему или нажать кнопку Выполнить.

• 9 Что такое построчный комментарий и как он оформляется?Ответ:В кодах VBA построчными комментариями (comments) называется текст, который

игнорируется и никак не влияет на ход выполнения программы. Вы можете (и должны) использовать комментарии для добавления сопроводительных пояснений о том, как работает программа, значения каких аргументов требуется передавать процедурам. Советуем добавлять любые замечания, которые в будущем могут оказаться полезными вам или другим программистам.

27

Page 28: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Один из способов создания комментария состоит в использовании символа апострофа (единичные кавычки). Все, что будет набрано от апострофа и до конца текущей строки, считается комментарием. Символ апострофа может быть набран как вначале строки, так и внутри нее: ' Это комментарий Dim MyWB As Workbook ' Это тоже комментарий Для обозначения комментариев можно также использовать ключевое слово REM (образовано от слова “remark” — замечание). Обратите внимание, что слово REM обязательно должно быть указано в начале строки: REM Это комментарий Dim MyWB As Workbook REM А это не комментарий Вы увидите, что в редакторе VBA комментарии отображаются другим цветом — по умолчанию зеленым.

10. Какие существуют возможности для оформления внешнего вида таблицы Excel перед ее публикацией в отчетной документации?

Ответ:Внешний вид оформления ячеек таблицы Excel может быть улучшен при заполнении их

цветом и/или узором. Цвета и узоры (включая цвет узора) могут быть установлены при использовании закладки Вид окна диалога Формат, Ячейки. Выбранная заливка и узор показываются в поле Образец.

Тестовые задания:1. Функции языка VBA позволяют работать с файлами следующих типов:а) бинарными;б) текстовыми;в) последовательного доступа;г) индексно-последовательного доступа;д) произвольного доступа.2. Записи фиксированной длины используются в файлах следующих типов:а) текстовых;б) с последовательным доступом;в) с произвольным доступом;г) бинарных.3. Для записи данных в файлы последовательного доступа используется функция:а) Put ();б) Get();в) Read ();г) WriteO;д) Append ();е) Output ().4. Для записи данных в файлы произвольного доступа используется функция:а) Put ();б) Get ();в) Read ();г) Write ();д) Append ();е) Output ().5. В иерархию объектов, представляющих файловую систему компьютера, входят

объекты следующих классов:а) Textstream;б) FileSystemObject;в) Record;г) File;д) Folder;

28

Page 29: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

е) Directory;ж) Drive;з) Disk.

29

Page 30: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

7 Учебно-методическое и информационное обеспечение дисциплины 7.1 Список источников и литературы

Основная литература'.1. Офисное программирование — И. Г. Фризен2. Самоучитель VBA. Как это делается в Word, Excel, Access — С. А. Малышев3. Самоучитель VBА — А. Гарнаев4. Измерение, управление и регулирование с помощью макросов VBA в Word и Excel

— Еанс-Иоахим Берндт, Буркард Каинка5. Excel 2010. Профессиональное программирование на VBA — Джон Уокенбах6. Microsoft Excel 2002. Разработка приложений — Андрей Еарнаев7. Интенсивный курс программирования в Excel за выходные — Питер Эйткен8. Программирование в Microsoft Excel на примерах — Сергей Катаев9. Программирование на VBA в Microsoft Office 2010 — Л. Д. Слепцова10. Решение научных и инженерных задач средствами Excel, VBA и C/C++ — Игорь

Е айдышевПеречень ресурсов информационно-телекоммуникационной сети «Интернет», необходимый для освоения дисциплины (модулей)1. https://www.twirpx.com/ Библиотека все для студента2. http://window.edu.ru/library3. http://elibrary.ru4. http://lib.volsu.ru 145. http://www.volsu.ru/umnik/.6. http://www.intuit.ru/7. http://kyrlibnet.kg/ru/8. http://www.biblioteka.kg/9. www.iprbookshop.ru10. http://ilim.box/11. https://www.who.int/hinari/en/12. http://search.epnet.com/13. https://www.cambridge.org/core

зо

Page 31: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

8 Перечень учебно-методического обеспечения для самостоятельной работыобучающихся

8.1. Планы практических (семинарских) и лабораторных занятий Методические указания по организации и проведению лабораторных занятий. -ПРИЛОЖЕНИЕ II

8.2. Методические указания для обучающихся по освоению дисциплины (модулей)Методические указания предназначены для рационального распределения времени

студента по видам самостоятельной работы и разделам дисциплины. Они составляются на основе сведений о трудоемкости дисциплины, ее содержании и видах работы по ее изучению, а также учебно-методического и информационного обеспечения. В раздел включаются: рекомендации по изучению дисциплины (модулей) или отдельных тематических разделов, вопросы и задания для самостоятельной работы, материалы, необходимые, для подготовки к занятиям (разделы книг, статьи и т.д.). Раздел может быть представлен в табличной форме.

8.3. Методические рекомендации по подготовке отчетов по лабораторным работамТребования при оформлении лабораторных работ:1. Требованияо Первая страница Титульный листо Условия задачи, цели, этапы выполненияо Программный кодо Графикио Результатыо ВыводыПравила оформления лабораторных работ:• текст печатается на странице формата А4;• шрифт - Times New Roman;• размеры полей: левое - 3 см, верхнее - 2 см, правое - 2 см и нижнее - 2 см;• выравнивание по ширине.• размер шрифта основного текста - 12;• интервал межстрочный (полуторный) - 1,5;• название работы печатается полужирным, размер шрифта - 14;• заголовки печатаются жирным шрифтом 14-ым размером, перед ними следует

оставить пустую строку, выравниваются по центу;• подзаголовки печатаются жирным шрифтом 12-ым размером выравниваются по

центу;• нумерация страниц - внизу по центру.• Нумерация рисунков, графиков и т.п. Например: (рис.1 Название рисунка) рисунки

нумеруются снизу и по центру, таблица (Таблица 1. Название таблицы) таблицы нумеруются сверху выравнивание к правому краю.

о Библиографические ссылки при цитировании приводятся в конце статьи инумеруются согласно порядку цитирования в тексте. Указываются автор (сначала фамилия, потом инициалы), название, место и год издания, страница. Порядковые номера ссылок должны быть написаны внутри квадратных скобок (например: [1], [2]). Источники приводятся с указанием в алфавитном порядке фамилий и инициалов всех авторов, сначала отечественных, затем иностранных, полного названия статьи, названия источника, где напечатана статья, том, номер, страницы (от и до) или полное название книги, место и год издания. Фамилии иностранных авторов, название и выходные данные их работ даются в оригинальной транскрипции. Каждый источник приводится с новой строки.

9 Материально-техническое обеспечение дисциплины Минимальные требования к материально-техническому обеспечению дисциплины:

31

Page 32: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

- Компьютерный класс- проектор, экран- колонки

10 ГлоссарийАбстрактный класс - это класс, содержащий хотя бы один виртуальный метод. Абстрактные классы не бывают изолированными, т.е. всегда абстрактный класс должен быть наследуемым. Поскольку у чисто виртуального метода нет тела, то создать объект абстрактного класса невозможно. Абстрактным классом можно назвать класс, специально определенный для обеспечения наследования характеристик порожденными классами. Абстракция - процесс изменения уровня детализации программы. Когда мы абстрагируемся от проблемы, мы предполагаем игнорирование ряда подробностей с тем, чтобы свести задачу к более простой.Абстракция через параметризацию - прием программирования, позволяющий, используя параметры, представить фактически неограниченный набор различных вычислений одной программой, которая есть абстракция этих наборов.Аспектно-ориентированное сборочное программирование - разновидность сборочного программирования, основанная на сборке полнофункциональных приложений из многоаспектных компонентов, инкапсулирующих различные варианты реализации. Декомпозиция программы - создание модулей, которые в свою очередь представляют собой небольшие программы, взаимодействующие друг с другом по хорошо определенным и простым правилам.Диаграмма деятельности, Activity diagram - методология объектно-ориентированного проектирования, предназначенная для детализации особенностей алгоритмической и логической организации системы. При этом каждое действие расчленяется на фундаментальные процессы. На диаграмме деятельности управление осуществляется:- либо через потоки управления (явно);- либо через определяемые потоки данных (неявно).Диаграмма классов, Class diagram - методология объектно-ориентированного проектирования, предназначенная для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Инкапсуляция, Encapsulation - От лат.1п - в + Capsula - ящичек, в объектно­ориентированном программировании - сокрытие внутренней структуры данных и реализации методов объекта от остальной программы. Другим объектам доступен только интерфейс объекта, через который осуществляется все взаимодействие с ним.Карты класс-ответственность-кооперация, Class-responsibility-collaboration - Карты класс-ответственность-кооперация - методология объектно-ориентированного проектирования, предназначенная для описания классов и оперирующая понятиями:- ответственность - суть - высокоуровневое описание функций, которые выполняет класс;- кооперация - суть - ссылка на другие классы, с которыми необходимо кооперироваться для реализации функций.Класс, Class - Класс - в программировании - множество объектов, которые обладают одинаковой структурой, поведением и отношением с объектами из других классов. Компонентное сборочное программирование - объектно-ориентированное сборочное программирование, основанное на распространении классов в бинарном виде и предоставление доступа к методам класса через строго определенные интерфейсы. Компонентное сборочное программирование поддерживают технологические подходы COM, CORBA. Net.Конструкторы - Эти операции используют в качестве аргументов объекты соответствующего им типа и создают другие объекты такого же типа. Например, операция сложения матриц создает новую матрицу.Локальность - означает, что реализация одной абстракции может быть создана и рассмотрена без необходимости анализа реализации какой-либо другой абстракции. Принцип локальности позволяет составлять программу из абстракций, создаваемых

32

Page 33: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

людьми, работающими независимо друг от друга. Один человек может создать абстракцию, которая использует абстракцию, созданную кем-то другим.Метод объектно-ориентированной декомпозиции - основной метод объектно­ориентированного программирования, описывающий:- статическую структуру системы в терминах объектов и связей между ними;- поведение системы в терминах обмена сообщениями между объектами.Модификаторы - эти операции модифицируют объекты соответствующего им типа. Например, операция push для стека.Модульность - это такая организация объектов, когда они заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.Наблюдатели - эти операции используют в качестве аргумента объекты соответствующего им типа и возвращают элемент другого типа, они используются для получения информации об объекте. Сюда относятся, например, операции типа size.Наследование, Inheritance - Наследование - в объектно-ориентированном программировании - свойство объекта, заключающееся в том, что характеристики одного объекта (объекта-предка) могут передаваться другому объекту (объекту-потомку) без их повторного описания. Наследование упрощает описание объектов.Объект, Object - Объект - в программировании - программный модуль:- объединяющий в себе данные (свойства) и операции над ними (методы);- обладающий свойствами наследования, инкапсуляции и полиморфизма.Объекты взаимодействуют между собой, посылая друг другу сообщения. Объектно-ориентированное программирование - технология программирования, при которой программа рассматривается как набор дискретных объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами. Объектно-ориентированное сборочное программирование - разновидность сборочного программирования:- основанная на методологии объектно-ориентированного программирования; и- предполагающая распространение библиотек классов в виде исходного кода (obj) или упаковку классов в динамически компонуемую библиотеку (dll).Полиморфизм, Polymorphism - в объектно-ориентированном программировании - способность объекта выбирать правильный метод в зависимости от типа данных, полученных в сообщении.Примитивные конструкторы - эти операции создают объекты, соответствующего им типа, не используя никаких объектов в качестве аргументов. Примером такой операции является создание пустого списка.Процедурная абстракция, процедура - наиболее известный в программировании тип абстракции. Всякий, кто применял для выполнения функции подпрограмму, реализовывал тем самым процедурную абстракцию. Процедуры объединяют в себе методы абстракции через параметризацию и спецификацию, позволяя абстрагировать отдельную операцию или событие.Свойство объекта - в объектно-ориентированном программировании - характеристика объекта. Обычно свойства изменяются с помощью методов.

33

Page 34: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

11 ПриложенияПРИЛОЖЕНИЕ 1

Лекция 1. Макросы и VB АVBA (Visual Basic for Application) - единый для всех приложений Microsoft Office язык программирования, построенный на основе Visual Basic.■ На Visual Basic создают исполняемый (.ехе) файл.■ На VBA - создают документы (.doc, .xls, .mdb, и др.) с элементами автоматизации при работе с ними.В документах могут:• использоваться пользовательские меню и диалоговые окна;• применяться достаточно сложные пользовательские функции;• производиться сложные вычисления;• документы могут реагировать на действия пользователя, т.е. проявлять интерактивность;• приложения MS Office могут работать в контексте клиент-серверных приложений

(клиент вызывает сервер и использует его возможности), т.е. использовать технологию Automation (автоматизация).

VBA позволяет:• создать собственное окно диалога и придать ему требуемый внешний вид;• создать макросы, расширяющие функциональные возможности приложения, в которое встроен VBA;• изменить меню Office-приложения;• управлять другими Office-приложениями или принадлежащими ему данными;• объединить данные из нескольких Office-приложений в одном документе;• автоматически создавать или изменять WEB-страницы, совместно используя Office- приложения или VBA.При решении задач с помощью VBA необходимо иметь основное приложение ///// и создать проект, содержащий следующие элементы:• код стандартного модуля;• формы и модули форм;• объекты приложения и их модули;• модули классов.Что такое макрос?• Макросы используются для автоматизации трудоемких задач, форматирования или

часто повторяющихся действий.• Макрос - это последовательный набор команд, сохраненных под одним именем.• Макрос образует процедуру на VBA, которая автоматически создается при записи

макроса RecorderoM или создается пользователем вручную.• Макрос пишется в стандартном модуле и представляет собой подпрограмму Sub

(Subroutine), которая является синонимом термина процедура.• Процедура может иметь параметры и выполняет определенные действия, которые

могут изменять их значения.• Не все действия пользователя может записать Recorder, поэтому макросы дорабатывают

с использованием конструкций языка VBA.Редактор VBAРедактор VBA - интегрируемая среда разработки приложений (рис. 1.1), в которой разрабатываются интерфейсные элементы и программы (код с программами и функциями, диалоговые окна и программы- обработчики событий).Вход в редактор осуществляется по цепочке меню:Сервис | Макрос | Редактор Visual Basic или <Alt>+<Fl 1 >.

34

Page 35: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 1. Макросы и VB А 7

Рис. 1.1- Вид окон редактора проектов в MS Word и MS Excel Назначение окон редактора VBA (рис. 1.2):■ Project Explorer (проект) - отображает все проекты и их составляющие;■ Toolbox (панель элементов) - содержит элементы управления форм;■ UserForm - используется для создания форм;■ Code (программа) - окно для создания кода программы;■ Properties (свойства) - окно для просмотра свойств объекта;■ Object Browser (просмотр объектов) - отображает классы, свойства, методы, события и

константы различных библиотек объектов;■ Immediate (проверка) - окно отладки - предназначено для быстрого выполнения вводимых в

него инструкций;■ Locals (локальные переменные) - окно для автоматического показа всех переменных данной процедуры;■ Watches (контрольные значения) - применяется при отладке для просмотра значений выражений.

Рис. 1.2- Окна редактора VBА

35

Page 36: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Учебно-методический комплекс 8На рисунке 1.2 красными кружками обведены кнопки, по которым можно:■ перейти в основную среду приложения;■ запустить макрос прямо из редактора;■ остановить (прервать) выполнение макроса, чаще всего при ошибочных ситуациях.Как создать макрос ?Запись макроса с помощью Macro Recordera:• открыть диалог Сервис | Макрос | Начать запись;• в диалоге задать имя макроса и назначить комбинацию клавиш для его запуска;• после нажатия Ok на листе должна появиться панель “Остановка записи”;• при записи макроса с относительными ссылками включить кнопку «Относительная ссылка» на

панели “Остановка записи”;• используя команды Меню, проделать все действия, которые нужно записать (рекомендуется их

предварительно отрепетировать);• закончить запись, нажав кнопку «Остановить запись» на панели “Остановка записи”.Запись макроса с помощью кода VBA (рис. 1.3):• перейти в среду редактора VBE (Сервис-Макрос-Редактор VBA);• вставить в проект модуль (Insert-Module);• вставить процедуру (Insert-Procedure-Sub), дать имя процедуре и ввести код на языке VBA (рис. 1.4).

Рис. 1.3 - Окно кода процедур

36

Page 37: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

л Mkrotcll Visual Basic Киша!

:s j - a■ss-щ

(r«»t | Fsr»»tPiotedyre...

■ J (Reform ' ч I

•S

( Я gwtHoUei Ffc...

влистгукщ

8 f»KT3 (ГЫстЗ) ЭтаО* *га

к ! ModJel

' » 1л 1, Coll

Книга! Module! (Code)

■ x

M odule 1 Modie ~ 3WwbetK Categcrted ]I^HlMxUel

^CtTKfal) _*] lOwfaiaio iw l^

Option Explicit

Sub число()m m ="123”MYar = MVar/2 Ш аг = "Ответ:" & MVar MsgBox MVar End Sub

№ ii_ i

Рис. 1.4- Вставка процедуры и опций компилятору Как выполнять макрос ?Способы запуска макроса:• по цепочке Меню: Сервис | Макрос | (выбрать из списка) | Выполнить;• по назначенной комбинации клавиш (во время записи или позднее);• по кнопке на панели инструментов (кнопку создают программно или вручную);• непосредственно из кода проекта VBA, выполнив команду Run (используется при отладке кода);• связать вызов макроса с графическим объектом, размещенным в рабочей области листа;• программно, например при создании или открытии документа.Чтобы макросы были доступны, необходимо установить уровень безопасности в среднее состояние (рис. 1.5).

37

Page 38: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Учебно-методический комплекс

Рис. 1.5 - Управление безопасностью документаГде сохранять макросы? Ответ: в проекте своего документа.ВНИМАНИЕ!!! - на занятиях макросы не должны размещаться в модулях шаблона Normal.dot.

38

Page 39: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Объектная модель приложенийВся функциональность программ VBA, работающих в приложениях Microsoft Office, построена на работе с классами и объектами. Класс можно представить как "чертеж" или шаблон с некоторой функциональностью, по которому создаются объекты - экземпляры классов. С точки зрения объектно­ориентированного программирования, класс - это абстракция, объединяющая объекты в одну группу согласно их свойствам и поведению.Объект - это некоторый набор данных, которые могут иметь связанные с ними функции (методы). Каждый объект является реализацией конкретного класса или семейства (collection), который определяет поля данных объекта и его поведение.Объекты приложений Word и Excel имеют иерархическую структуру и связаны между собой отношением встраивания. Однотипные объекты образуют семейства (имеют окончание 5 в названии). Их иначе назвают коллекциями .На рисунках 2.1 и 2.2 представлены объектные модели приложений. Они напоминают матрешки, поскольку содержат встроенные коллекции и объекты.

Рис. 2.1 - Объектная модель приложения MS Word

39

Page 40: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Объекты приложенийСемейства и классыСовокупность объектов, относящихся к одному типу, составляет семейство (например, все открытые документы приложения Word - объекты Document - составляют семейство Documents).Основными семействами Word являются:• DOCUMENTS - совокупность открытых документов;• SECTIONS - семейство разделов документа;• PARAGRAPHS - все абзацы документа;• SENTENCES - все предложения документа;• WORDS - совокупность слов документа;• CHARACTERS - совокупность символов текста активного документа.Основными семействами Excel являются:• WORKBOOKS - все открытые рабочие книги;• WORKSHEETS - совокупность рабочих листов активной рабочей книги;• CELLS - совокупность ячеек рабочего листа активной рабочей книги;• CHARTS - семейство диаграмм активной рабочей книги.Всякий объект принадлежит некоторому классу, то есть является экземпляром класса.

Класс представляет собой шаблон, на основе которого во время выполнения программы создается объект.Для работы с объектом его можно явно объявить (указать его класс) и установить связь с конкретным указанием на объект.

Примеры классов: Document (документ), Paragraph (абзац), Workbook (книга), Worksheet (лист) и т.д. Определение объектаНапример, чтобы объявить объект типа Document, можно использовать следующий синтаксис:

40

Page 41: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Dim objDoc As Document Set objDoc = Documents(№™e)где objDoc - имя переменной, объявленной оператором Dim как документ, т.е. объект класса Document, оператор Set устанавливает связь переменной objDoc с конкретным объектом - документом из коллекции открытых документов в текущем сеансе работы текстового редактора Word,параметр Name - это имя документа (заключается в двойные кавычки) или надо указать номер документа в коллекции.

Например:Set objDoc=Docum ents(“eim,OKyMeHn.doc”) илиSet objDoc=Documents(l) ‘ теперь понятно, на что ссылается переменная objDoc ...Для работы с фрагментами документа Word и диапазонами электронной таблицы Excel используются такие объекты:RANGE - создается для того, чтобы указать диапазон для дальнейших операций над ним;SELECTION - представляет собой уже выделенный диапазон.При обращении к свойству или методу указывается положение объекта в иерархии, а затем необходимое свойство или метод данного объекта. При этом каждый элемент семейства идентифицируется по номеру или по имени. Например:

Application.Documents(n).Range. Sections(j).Range.Paragraphs(m).Range.Sentences(p).Words(s).Characters(i) Здесь указываются номера объектов:п -документа, j -раздела, m -абзаца, р -предложения, s - слова и i - символ.Application. Workbooks(n).Worksheets(k).Range(“C3”)Здесь указываются номера объектов: п -книга, к -рабочий лист.Свойства и методы объекта

■ Класс определяет свойства объекта и методы, используемые для управления поведением объекта.■ Имена объекта и его метода или свойства при написании разделяются точкой: объект.свойство или объект, методНапример:■ чтобы изменить характеристики объекта, надо просто изменить значения его свойств. В качестве

примера можно привести такие свойства шрифта, как Size (размер шрифта), Colorlndex (цвет букв) и т.п.;

■ чтобы работать с объектом, его можно выделить (Selec) или активизировать (Activate) и т.п. Примеры определения объектов:Dim obi As RangeSet obi = Application. Documents( "Документ! doc") . Range. Paragraphs( 1) . Range obi. SelectDim objDoc As RangeSet objDoc =Application. Documents( 1). Range. Paragraphs( 1). _Range. Sentences( 1). Words( 1)objDoc. SelectApplication. Documents( "d: УГекст. doc"). Paragraphs( 2). Range( Start: =0, End: =5). Select Selection. Font. Siz e=13Application. Workbooks( "Книга!, xls") . Activate Worksheets( "Лист1") . Activate

41

Page 42: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Свойства и методы объектов MS WordТаблица 2.1 - Перечень наиболее часто используемых свойств объектов WordСвойство Семейства и объекты

WordНазначение

Application Семейства: Documents, Paragraphs, Words; Объекты: Documents, Paragraphs, Words, Range, Selection и т.д.

Возвращает корневой объект Word. Application

Bold Объекты:Words, Range, Font Задает подчеркивание текста

Characters Объекты: Documents, Words, Range, Selection

Возвращает объект Range, который соответствует символам документа, словам или выделенной области соответственно

Count Семейства: Documents, Paragraphs, Words

Возвращает количество элементов семейства

Document Объект Selection Возвращает выделенный документ

Font Объекты: Words, Range, Selection

Задает определенные свойства шрифта

Italic Объекты: Words, RangeЗадает начертание шрифта - курсив

Name Объект Documents Присваивает имя документу

ParagraphFormat Объекты: Words, Range, Selection

Задает определенные характеристики абзаца

Paragraphs Объекты: Documents, Range, Selection

Возвращает абзац открытого документа выделенной области

Range Объекты: Paragraphs, Selection

Возвращает объект Range, соответствующий абзацу в первом случае и выделенной области во втором

Sentences Объекты: Documents, Range

Возвращает объект Range, соответствующий предложению открытого документа

Text Объекты: Words, Range, Selection

Задает текст для вставки в документ

Words Объекты: Documents, Возвращает объект Range, который

42

Page 43: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 2.2 - Объектная модель приложения MS ExcelЛекция 2. Объектная модель приложений 27

Свойство Семейства и объекты Word

Назначение

Range, Selection является словом открытого документа или выделенной области

Таблица 2,2 - Перечень наиболее часто используемых методов семейств и объектов WordМетод Семейства и объекты Word НазначениеActivate Объект Documents Активизирует один из

открытых документов

Add Семейства: Documents, Paragraphs

Цобавляет элементы в семейство

Close Семейство: Documents; объект Documents

Закрывает открытые документы

Copy Объекты: Range, Words Позволяет скопировать объекты в буфер обмена

Delete Объекты: Range, Selection Удаляет содержимое некоторой области

Insert After Объекты: Range, Selection, Words

Позволяет вставить текст после введенного выражения

43

Page 44: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

InsertBefore Объекты: Range, Selection, Words

Позволяет вставить текст перед введенным выражением

nsertDateTime Объекты: Range, Selection, Words

Позволяет вставить текущую дату выбранного формата

Item Семейства: Documents, Paragraphs, Words

Позволяет добраться до нужного элемента семейства

Move Объекты: Range, Selection, Words

Позволяет переместить некоторый объект

Next Объекты: Range, Documents, Paragraphs

Позволяет выбрать следующий элемент

Open Семейства: Documents Открывает существующий документ

Paste Объекты: Range, Words Вставляет в документ содержимое буфера обмена

Range Объект Documents Возвращает объект RangeSave Семейства: Documents, объект

Documents

Сохраняет откорректированн ые документы

SaveAs Объект Documents Сохраняет документ под каким- либо новым именем

Select Объекты: Range, Documents, Selection

Создает выделенный объект

Свойства и методы объектов MS ExcelТаблица 2.3 - Г еречень наиболее часто используемых свойств семейств и объектеСвойство Семейства и объекты Excel НазначениеApplication Семейства: Workbooks,

Worksheets, Cells; Объекты: Workbooks(n), Worksheets(k), Range

Возвращает корневой объект Excel. Application

WorksheetsОбъекты: Application,Workbooks(n)

Возвращает семейство листов

Workbooks Объект Application Возвращает семейство открытых рабочих книг

RangeСемейство: Cells; Объекты: Worksheets(k), Range

Возвращает объект Range, который соответствует ячейке, строке, столбцу или диапазону в таблице

Selection Объекты: Application Возвращает выделенную областьCells Семейство: Cells; Объекты:

Application, Worksheets(k), Range

Возвращает объект Range, который соответствует диапазону ячеек

Columns Семейство: Cells; Объекты: Application, Worksheets(k), Range, Cells

Возвращает объект Range, который соответствует семейству столбцов таблицы

44

Page 45: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Rows Семейство: Cells; Объекты: Application, Worksheets(k), Range, Cells

Возвращает объект Range, который соответствует семейству строк таблицы

Count Семейства: Workbooks, Worksheets, Cells; Объект Range

Возвращает количество элементов семейства

Font Семейство: Cells; Объект: Range

Позволяет задавать свойства шрифта

Formula Семейство: Cells; Объект: Range

Позволяет прочитать или задать формулу в ячейке

Colorlndex Объекты: Interior, Font Задает цвет фона или буквТаблица 2.4 - Перечень наиболее часто используемых методов семейств и объектов ExcelМетод Семейства и объекты Excel Назначение

Activate Объекты: Workbooks(n), Worksheets (k), Cells(i), Range

Активизирует соответствующий объект

Select Объекты: Worksheets(k), Cells(i), Range

Позволяет выделить лист или диапазон ячеек

Clear Объекты: Cells(i), Range Позволяет очистить диапазон ячеек

Add Семейства: Workbooks, Worksheets

Добавляет элементы в семейство

Таблица 2.5 - Перечень наиболее часто используемых свойств объекта Range в ExcelСвойства объекта RangeСвойство Описание

Value Возвращает или устанавливает значение в ячейках диапазона

Name Возвращает или устанавливает имя диапазона

CurrentRegion Возвращает текущий диапазон. Текущим является диапазон, ограниченный пустыми строками и столбцами, содержащий данный диапазон

EntireColumn,EntireRow Возвращают столбец и строку соответственно

Columns,Rows

Возвращают семейства столбцов и строк, из которых состоит диапазон

ColumnWidth,RowHeight

Возвращают или устанавливают ширину столбцов и высоту строк в диапазоне

Width, Height Возвращают или устанавливают ширину и высоту диапазона

Hidden Логическое свойство, которое определяет, является ли диапазон скрытым

45

Page 46: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Comment Возвращает объект Comment (примечание), который при отображении на экране связан с левым верхним углом диапазона

Interior Возвращает объект interior, представляющий собой фон ячейки

Lock Логическое свойство, которое определяет, может ли пользователь вводить данные в ячейки диапазона на защищенном листе

Таблица 2.6 - Перечень наиболее часто используемых методов объекта Range в ExcelМетоды объекта RangeМетод ОписаниеAutoFill Автозаполнение ячеек диапазона элементами

последовательности. Метод AutoFill отличается от метода DataSeries тем, что явно указывается диапазон, в котором будет располагаться прогрессия. Метод AutoFill программирует действия пользователя на рабочем листе, когда пользователь располагает указатель мыши на маркере заполнения выделенного диапазона(в который введены значения, порождающие создаваемую последовательность) и перемещает маркер заполнения вдоль диапазона (в котором будет располагаться создаваемая последовательность)

AutoFit Автоматически подбирает ширину столбца и высоту строки так, чтобы в ней помещались введенные данные

Clear,ClearComments,ClearContents,ClearFormats,ClearNotes

Эти методы очищают диапазон, а также комментарии, содержимое, форматы и примечания, находящиеся в диапазоне

Copy Копирует диапазон в другой диапазон или в буфер обмена

Cut Копирует диапазон с удалением в указанный диапазон или в буфер обмена

Delete Удаляет диапазонDataSeries Создает прогрессию. Метод DataSeries

программирует выполнение команды Правка Заполнить Прогрессия

Insert Вставка ячейки или диапазона ячеекSelect Выделение диапазона

Offset Возвращает диапазон, смещенный относительно данного на величины, специфицированные в аргументах

GoalSeek Подбирает значение параметра (неизвестной величины), являющееся решением уравнения с одной переменной. Метод GoalSeek программирует выполнение команды Сервис Подбор параметра

46

Page 47: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Специальная вставка из буфера обмена. Метод PasteSpecial программирует выполнение на рабочем листе команды Правка \ Специальная вставка_____

47

Page 48: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 3. Основы языка VB АРедактор VBA в отличие от обычных текстовых процессоров:1) изменяет написание некоторых слов, делая их единообразными;2) выделяет синим цветом зарезервированные ключевые слова;3) выделяет зеленым цветом комментарии, которые начинаются с символа кавычка (‘);4) выделяет красным цветом синтаксические ошибки;5) длина строки не ограничена - длинные строки редактор делит на части, используя для

обозначения переноса пробел и символ подчеркивания ( _ ).Синтаксис инструкцийИнструкция - это синтаксически завершенная конструкция, представляющая определенное действие, описание или определение. Инструкции содержат распознаваемые слова, операторы, выражения, переменные, константы. Бывают инструкции описания (именуют переменные, константы и процедуры), присвоения (задают значения переменным и выражениям) и исполняемые инструкции (организуют ветвление, проверки условий, вызов методов и функций, циклические вычисления). Программа - это законченная последовательность инструкций, описывающая алгоритм решения задачи. Программы организуются в виде процедур и составляют модуль. VBA позволяет создавать следующие виды процедур - подпрограммы (Sub) и функции (Function), синтаксис которых представлен ниже в таблице 3.1.Таблица 3,1 - Синтаксис процедур VBA___________________________________

Подпрограмма (Sub) Функция (Function)

Sub имя([аргументы]) Инструкции языка VBA End Sub

Function имя([аргументы])Инструкции языка VBAИмя=выражение ‘ функция возвращает значение End Function

Замечание: В языках программирования в синтаксических конструкциях выражения в квадратных скобках обозначают необязательные параметры, т.е. функции и подпрограммы могут иметь или не иметь аргументы.Синтаксис языкаПравила выбора имен в VBA едины для многих элементов (переменных, констант, функций, процедур и т. и.):• имя должно начинаться с буквы;• имя не должно содержать пробелов и символов пунктуации (исключение — символ подчеркивания);• имя должно быть уникальным в текущей области видимости;• нельзя использовать зарезервированные слова (те, которые подсвечиваются синим цветом в окне

редактора кода).В таблице 3.2 приведены вопросы и ответы на них, которые позволят освоить синтаксис языка VBA.Таблица 3.2 - Основные синтаксические принципы языка VBAОператорыОператор— это наименьшая способная выполняться единица кода VBA. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе.Оператор присваивания в VBA — это знак равенства: nVar=10 ("присвоить переменной nVar значение 10“).Операторы, приведенные в таблице 3.3, выполняют действия и могут быть арифметическими, сравнения, логическими и конкатенации.

48

Page 49: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Таблица 3.3 - Операторы, выполняющие действия Порядок применения операторов выглядит так:- вначале в выражении вычисляются арифметические операторы;- затем операторы конкатенации;- следующими идут операторы сравнения;- и уже в самом конце логические.Если в выражении есть несколько операторов одного типа, то они применяются в обычном порядке- слева направо.При необходимости можно изменять порядок применения операторов при помощи круглых скобок. КонстантыКонстанты — еще один контейнер для хранения данных, но, в отличие от переменных, они не изменяются в ходе выполнения VBA-программы.В VBA встроено множество служебных констант: календарных, для работы с файлами, цветами, формами, типами дисков и т. и.Например, константа vtCrLf позволяет произвести переход на новую строку, а константа VbOkOnly задает вид кнопки.Константы используют в следующих случаях:• чтобы код становился более читаемым, убираются потенциальные ошибки;• чтобы изменить какое-либо значение в коде (например, уровень налога), это нужно сделать всего

один раз — в объявлении константы.Примеры объявления констант:Const pi As Single = 3.141593 ' объявление константыConst ddd As Date=#02/22/2009# 'объявление константы с датой 22 февраля 2009 годаПеременныеДанные - это объекты, обрабатываемые программой. Основной характеристикой данных является их тип.В VBA используются:• числовые;• строковые;• логические;• др. типы данных.Переменны — это контейнеры для хранения изменяемых данных.Для простоты переменную можно сравнить с номерком в гардеробе — вы сдаете в гардероб какие-то данные, в ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы " предъявляете номерок" и получаете их.Для хранения данных разного типа в памяти отводится соответствующее количество байт памяти, достаточное для размещения максимального значения выбранного типа.Переменная - именованная область памяти, отведенная для временного хранения данных:- значение переменной во время выполнения программы может изменяться;- в VBA описание типа не обязательно, по умолчанию приписывается тип VARIANT (он

подстраивается под тип пришедшего данного).Перед работой с переменной настоятельно рекомендуется ее объявить! В секции Declaration (расположена в верхней части модуля) можно задать условие обязательного объявления переменных командой Option Explicit. Желательно явно указывать нужный тип данных, потому что:■ сокращается количество ошибок: программа с самого начала откажется принимать в переменную

значение неправильного типа (например, строковое вместо числового);■ при работе с объектами подсказка по свойствам и методам действует только тогда, когда мы

изначально объявили объектную переменную с нужным типом.Типы данных:1. Byte — целое число от 0 до 255;2. Integer — целое число от -32 768 до 32 767;3. Long — большое целое число от -2 147 483 648 до 2 147 483 647;4. Currency— большое десятичное число с 19 позициями, включая 4 позиции после запятой;

49

Page 50: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

5. Decimal — еще большее десятичное число с 29 позициями (после запятой можно использовать от О до 28 позиций);

6. Single и Double — значения с плавающей запятой (Double в 2 раза больше));7. строковые (String переменной длины (примерно до 2 млрд символов) и фиксированной длины

(примерно до 65 400 символов));8. дата и время (Date — от 01.01.100 до 31.12.9999);9. логический (Boolean— может хранить только значения True и False);10. объектный (Object — хранит ссылку на любой объект в памяти);11. Variant — специальный тип данных, который может хранить любые другие типы данных. Способы объявления переменныхИспользуется в большинстве случаев. Если переменная/объявлена как Dim в облаете объявлений модуля, то она будет доступна во всем модуле, если в процедуре — только на время работы этой процедуры{Public|Dim|Private|Static} yarName [As] [Type]

\ \ ' " . * тип

\ \ Имя переменной

Г лобальная Локальная СтатическаяДоступна eo всех модуля*: проекта

Доступна внутри процедуры

Определяет значение уж е при первом вызове

Для описания типа переменных чаще всего используют оператор DIM, например:DIM A as INTEGERDIM В AS DATE, C AS INTEGER, D AS SINGLE DIM E as VARIANT, obi as OBJECT, doc as DocumentВыбирайте наименьший тип данных, который может вместить выбранные вами значения. Если есть какие-то сомнения — выбирайте больший тип во избежание возникновения ошибок.Если есть возможность, лучше не использовать типы данных с плавающей запятой (Single и Double) - работа с ними производится медленнее, кроме того, могут быть проблемы при сравнениях за счет округлений.Примеры объявления переменных:Dim R, L ‘объявление переменных типа VariantDim a As Integer, d As Byte, c As String 'объявление переменных целого, байтового истроковоготипаа=32300 : Ь=3 : сЛЛЛ" ‘Присвоение переменным значений соответствующего типаDim tekst as Document ‘ объявление переменной типа объекта-документаКак работает тип Variant ?Variant - это уникальный тип данных, который "подстраивается" под тот тип, какой имеет или получает текущая переменная в зависимости от результата операции и процесса выполнения процедуры.Запустите эти процедуры и проанализируйте полученные результаты.Sub число() Sub строка()MVar = "123” MVar = "123”MVar = MVar / 2 MVar = MVar + MVarMVar = "Ответ: " & MVar MVar = "Ответ: " & MVarMsgBox MVar MsgBox MVarEnd Sub End SubОбласть видимости переменныхПеременные, описанные внутри подпрограммы, видимы только внутри процедуры и называются локальными, а вне подпрограммы - глобальными.Dim a as integer Sub sum l ()Dim x as integer, у End subНапомним, что для определения области видимости переменной предусмотрено 4 ключевых слова:

50

Page 51: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Dim - используется в большинстве случаев и если переменная объявлена внутри процедуры, то она доступна только во время ее работы;Private - действие аналогично Dim, если переменная объявлена в стандартном модуле, а не в классах (создание классов в курсе не рассматривается);Public - если объявлена переменная внутри процедуры, она ведет себя как Dim. Если объявление находится в области декларации (выше всех процедур), то такая переменная доступна во всех модулях проекта,Static - используется только внутри процедуры и сохраняет свое значение между вызовами этой процедуры (часто используется для накопления значений).Пример, иллюстрирующий область видимости переменных, представлен на рисунке 3.1.

Рис. 3.1 - Область видимости переменныхПользовательский тип данныхДля задания типа, определенного пользователем, используется инструкция Туре. Этот тип может включать в себя несколько элементов переменных стандартных типов. Например, тип данных с информацией о студенте (фамилия, курс, дата рождения) можно описать так:Type Student Fio As String Kurs As Byte Birthday As Date End TypeПрименениеDim Info AS StudentInfo. Fio=InputBox (“Введите фамилию”)Info.Kurs=2

51

Page 52: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Структурный тип данныхСтруктурный тип данных - это массив, представляющий упорядоченную совокупность данных одного

типа. Dim mas 1(10) As Integer ‘ объявление одномерного массива из 11 целочисленных данных Dim mas2(10,5) As Long ‘ объявление двумерного массива ‘ Массив можно объявить и так:Const LowBound As Integer = -5 Const HighBound As Integer = 5 * массив размерностью от -5 до 5 ‘ со знамениями от 0 до 255 Dim MyArr( LowBound То HighBound) As Byte Управление массивомОбращение по индексу, например mas(2,2) или МуАгг(2).Нумерация индексов определяется опцией компилятору:- Option Base 1 (с един ни) элемент МуАгг(2) - ссылается на 2-ой элемент массива- Option Base 0 (по умолчанию с нуля) элемент МуАгг(2)- ссылается на 3-ий элемент массива.Массив считается динамическим, если при первоначальном объявлении не указывается его размерность, но она в последующем может быть определена и переопределена оператором ReDim. Описанный ниже пример демонстрирует это.Option Base 1 ‘ отсчет элементов массива устанавливаем с единицыSub mass()Dim Vector() As IntegerN = InputBox ("Введите фактическую размерность вектора")ReDim Vector(N)Vector(l)=2 : Vector(2)=3 ‘занесение знамений в массив ‘ или организуем цикл For 1=1 То NV ector( I )=I n р u t В ох (“ В вед ите элемент массива”) ‘ вводим целое число‘ выводим строку с номером элемента массива и его знамением MsgBox Str(I) & “элемент массива” & “ равен “ & Vector(I)‘... возможна обработка элементов массива от 1 до N элементовNext I End SubПроцедуры и функцииVBA позволяет создавать три типа процедур:■ SUB () - подпрограмма;■ FUNCTION ()- функция;■ PROPERTY ()- свойство (используется при создании классов).FlanoMHiiM, что FUNCTION отличается от SUB тем, что обязательно возвращает значение.SUB имя ([аргументы]) FUNCTION имя ([аргументы]) [as тип]... операторы ... операторыEND SUB Имя = выражениеEND FUNCTIONПример 1. Вычислить комиссионные, зависящие от объемов продаж, по формулам.

12%, если объем продаж > 20 000 ; комиссионные = <] 10,5%, если объем продаж > 10 000 и < 19 999;

8%, если объем продаж > 0 и < 9 999.Вычисления будем проводить в диалоге, представленном на рисунке 3.3.

Рис. 3.3 - Диалоговое окно для вычисления комиссионных Function Komiss( Prodag)

52

Page 53: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Cons t one = 0.0 8 Const two = 0.10 5 Const three = 0. 12 Select Case ProdagCase 0 To 9999.99: Komiss=Prodag*OneCase 10000 To 19999.99: Komiss=Prodag*TwoCase Is >=20000: Komiss=Prodag*ThreeEnd Select End FunctionSub s ales()Dim s As LongDim soob As String, otvet As Strings = Val( InputBox( " Введите объем продаж:", "Формат ввода"))soob = "объем продаж: " & vbTab & Format(s, "#,##0.00 $")soob = soob & vbCrLf & "комиссионные: " & vbTabsoob = soob & Format( Komiss( s ) , " #, ##0. 00 $")soob = soob & vbCrLf & vbCrLf & "Вычислить заново?"otvet = MsgBox( soob, vbYesNo, "Вычисление комиссионных с продаж")If otvet = vbYes Then sales End SubПример 2. Вычислить значение функции, представленной формулой:' 2 , х <-2 ;

_ | л |, -2 с х < 0 ;у~ ' л2, 0<х< 2 4, л >2.

В модуле создают процедуры (Sub) и функции (Function), которые могут вызываться внутри других процедур:Function XTOY( X As Double) As Double Dim Y As Double If x > -2 Then If x > 0 Then If x > 2 Then у= 4

Else: у = x л 2 End If Else: у = Abs( x)End If Else: у = 2 End If XTOY= у End Function

Sub TabXTOY()Dim xmin As Double Dim xmax As Double Dim h As Double Dim x As Double Dim у As Double Dim i As Integerxmin = InputBox( "xmin= ", "function") xmax = I nputBox( " xmax= ", "function") h = InputBox("h= ", "function") x=xmini=l ' определение первой строкиCells( i, 4). Value="x"Cells( i, 5) . Value-' y" whilex<=xmax' вызов функции для получения значения у от х y=XTOY( х)'результаты расположить в ячейки рабочего листа ' в столбцах D и Е, соответственно:Cells( i+1, 4). Value=x Cells( i+1, 5). Value=y i=i+l ' переход на следующую строкуx=x+h ' увеличение х на шаг h wend' вызов подпрограммы построения графика по заполненному диапазону: Call ChartDraw( i)End SubSub ChartDraw( I As Integer)Dim myRange As Range Dim myChart As ChartObject Workbooks( "Bookl") . Activate With Worksheets( "Sheetl")

' Указываем диапазон для построения графика:Set myRange = Range( "Dl: E" & Format( I ) )Set myChart = _. ChartOb j ects. Add( myRange. Left, _ myRange. Top + myRange. Height, _400, 300)E nd With' Указываем источник данных, используя метод SetSourceData.

53

Page 54: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

' Свойство ChartType позволяет указать тип диаграммы,' а метод Location определяет ее, как встроенный объект.With myChart. Chart. ChartType = xlXYScatterSmooth . SetSourceData Source: =myRange, _ PlotBy: =xlColumns. Location Where: =xlLocationAs Ob j ect, _Name: =" Sheet 1"End With' Определяем заголовок диаграммы;With ActiveChart. HasTitle = True. ChartTitle. Characters. Text = "График функции" E nd Wi th End Sub- cos x (косинус);Встроенные функции VBA:• Cos (x)• Sin (x)• CDbl(x), CInt(x), CStr(x)• Abs(4MAo)• Кпс1(число)• Sqr (число)• Val(cTpoKa)• Str (число)• Mid(string, start, length)• Left(string, length)• Right(string, length)• Аитепс(выражение)• DateQ, TimeQ, NowQ• и dp.- sin x (синус);- приведение к соответствующему типу данных;- выводит абсолютное значение числа;- случайное число;- корень квадратный из числа;- возвращает число, содержащееся в строке;- переводит число в строковое значение;- выделяет из строки string подстроку длиной length, начиная с позиции start (аналог функции ПСТР);- аналог функции ЛЕВСИМВ;- аналог функции ПРАВСИМВ;- проверяет, имеет ли выражение числовое значение;- возвращает текущую дату, время и оба этих значения от системных часов;

54

Page 55: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 4. Основные конструкции языка VBAК основным конструкциям управления ходом выполнения программы в VBA относятся операторы перехода и выбора и операторы повтора.

Операторы условного и безусловного переходаОператоры условного перехода — одни из самых важных и часто используемых элементов в языках программирования. Общий принцип их работы простой: проверяется соответствие каким-то условиям (истинность или ложность каких-либо выражений) и в зависимости от этого выполнение программы направляется по одной или другой ветви.

Условие - это выражение логического типа:= равно, <> не равно, > больше, < меньше, >= больше или равно, <= меньше или равно.

Возможно применение логических операций: Not, And, Or.■ Оператор if... Then — самый популярный и используется, когда нужно проверить на соответствие

одного или нескольких условий и в случае соответствия сделать какое-то действие, а в случае несоответствия выполнить другое действие.

■ Оператор Select Case идеально подходит для проверки одного и того же значения, которое нужномного раз сравнить с разными выражениями.

■ Оператор безусловного перехода GoTo используется, когда ход выполнения программы безпроверки каких- либо условий перепрыгивает на метку в коде. Оператор безусловного перехода GoTo задает переход на указанную строку (метку) внутри процедуры.

Работа с цикламиЦиклы используются в ситуациях, когда нам нужно выполнить какое-либо действие несколько раз.

■ Первая ситуация — мы знаем, сколько раз нужно выполнить определенное действие, в этомслучае используется конструкция For. . .Next.

и Для того, чтобы пройти циклом по всем элементам коллекции, используется команда For Each...Next.и Еще одна ситуация: когда мы не знаем точно, сколько раз должна быть выполнена та или другая

команда — это зависит от какого-либо условия. В этом случае используется конструкция Do While. . .Loop или Do Until. . .Loop.Основы алгоритмизацииОсновные шаги, которые следует выполнять при решении задач на VBA.Постановка задачи Формулировка цели.Анализ величин, используемых в задаче и определение условий, при которых она решается.Алгоритмизация вычислительного процессаОпределение цепочки действий, приводящих к решению задачи.

Разбиение процесса решения на блоки и установка последовательности их выполнения. Разработка блок- схемы алгоритма.Отладка программыПеревод на машинный язык (компиляция или интерпретация), выявление и исправление ошибок. Тестирование на реальных данных.Решение задачи и анализ результатовМногократное выполнение задачи на различных наборах исходных данных.

55

Page 56: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Учебно-методический комплекс 56Управляющая конструкция IFОпределите на оси контрольные значения (рис. 4.1) и посмотрите, как работает алгоритм программы на отдельных участках области определения аргумента:

Рис. 4.1 - Определение контрольных значений на осиВыберите подходящий оператор условного перехода (это зависит от количества контрольных значений) и примените соответствующую конструкцию языка VBA (рис. 4.2).

Условный простой оператор и;If условие Then [инструкции]

Else[инструкции else]End IfОператор If блочной структуры:

56

Page 57: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

If Условие 1> Then солок операторов 1>Els ей < условие 2 > Then солок опер а торов 2 Elself с условие 3> Then солок операторов 3>[Elseсолок операторов Else> ]End IfРис. 4.2 - Оператор условного перехода IF Примеры1. Анализируем время (рис. 4.3), возвращаемое встроенной в VBA функцией Time, работающей от системных часов и возвращаем соответствующее сообщение: "утро", "день" или "вечер".

утро день вечер

12:000.5

18:000.75

Рис. 4.3 - Ось изменения времени суток Sub vremia()If Time < 0.5 ThenMsgBox "Утро”

Elself Time >= 0.5 And Time < 0.75 Then MsgBox "День"Elself Time >= 0. 75 Then MsgBox "Вечер"

End If End Sub2. Назначим премию, начисляемую по приведенному ниже правилу и выделим соответствующие контрольные значения (рис. 4.4):■ если стаж работы в фирме не менее 5 лет, то выплачивается доплата в размере 0,5% от стоимости

реализованной продукции;■ если продано на сумму не меньше, чем на 1 000 000 р., то премия составляет 2% от стоимости;■ если продано меньше, чем на 1 000 000 р., то премия составляет 1% от стоимости.

Рис. 4.4 - Ось контрольных значений для расчета премии Sub НазначениеПремии()Dim stag As Integer, prod As Double Dim premia As Double Dim sAge As Double, sSale As Doubleprod=Inputbox "Введите величину продажи" stag=Inputbox "Введите величину стажа" If stag >= 5 Then sAge = 0.005 * prod If prod >= 1000000 Then sSale = 0.02 * prod Else

sSale = 0.01 * prod End If premia = sAge + sSale Msgbox premia End subНа рисунке 4.5 приведен пример функции, которая решает эту же задачу.

57

Page 58: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 4.5 - Функция с конструкцией IFНиже продемонстрировано применение функции для расчета премии по предложенному алгоритму Параметры функции задаются в окне задания аргументов функции (рис. 4 6).

5ис. 4.6 - Окно задания параметров функции премия(Стаж, Продажа)

58

Page 59: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Управляющая конструкция Select CaseОператор выбора Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Определите на оси контрольные значения (рис. 4.7) и посмотрите, как работает алгоритм программы на отдельных участках области определения аргумента.

На рисунке 4.8 показано, как условия определяют сравнения величины, в соответствии с которым

Рис. 4.8 - Цепочка условий для проверки конечного множества значений Таксис оператора Select:Select Case <величина>Case <сравнение 1>

<блок операторов 1> Case <сравнение 2><блок операторов 2>

[Case Else<блок операторов Else> ]End Select ПримерКомиссионные определяются в зависимости от объема продаж по следующему алгоритму:Объем продаж, $ Комиссионные, %О - 9999 810 000 -39 999 1040 000 и более 15Function Комиссионные( Продажи)Select Case Продажи Case 0 То 9999

Комиссионные = 0.08*Продажи Case 10000 То 39999 Комиссионные = 0.1*Продажи Case Is >= 40000 Комиссионные = 0.14*Продажи End Select End Function

Цикл For-NextОператор цикла For-Next служит для выполнения одного оператора или их группы указанного числа раз.For <переменная_цикла> = <начало> То <конец> [ Step <шаг> ]

<блок операторов 1 > 'тело цикла [ Exit For ]' прекращение цикла <блок операторов 2 > ‘повторяется определенное число разNext <переменная цикла>На рисунке 4.9 приведена схема организации цикла, где в качестве переменной цикла используетсяпеременнаяi.

59

Page 60: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 4.9 - Схема организации цикла ПримерПросуммируем квадратные корни первых 100 целых чисел.Sub SumKorni()Dim Sum As Double, I As IntegerSum=0 ' обнуляем переменную, куда будем в цикле суммировать значенияFor 1=1 То 100 Sum=Sum+Sqr( I)Next IMsgBox Sum ' вывод результата End Sub Цикл DoWhile и DoUntilДля организации циклов с неизвестным заранее числом шагов используются следующие операторы цикла: Do While-Loop, Do Until-Loop;Do-Loop While, Do-Loop Until.На рисунке 4.10 видно, что в цикле с постусловием тело цикла выполняется, по крайней мере, один раз.

Рис. 4.10 - Схемы организации циклов с предусловием и постусловием

Таблица 4,1 - Синтаксис организации циклических процессовЦикл с предусловием Цикл с постусловием1) условие True в начале цикла Do While <условие><блок операторов>Exit Do<блок операторов>Loop

2) условие True в конце цикла Do <блок операторов>Exit Do<блок операторов>Loop While <условие>

3) условие False в начале цикла Do Until <условие><блок операторов>Exit Do<блок операторов>Loop

4) условие False в конце цикла Do <блок операторов>Exit Do<блок операторов>Loop Until <условие>

Примеры1. Обнулить ячейки с данными в столбце электронной таблицы, начиная с активной в текущий момент. На рисунке 4.11 показан результат выполнения макроса.

60

Page 61: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Public Sub WhileDemo()Do While Not IsEmpty( ActiveCell)

' функция IsEmpty возвращает значение True, если в активной ячейке пусто ActiveCell. Value = О ActiveCell. Offset( 1, 0) SelectLoop End Sub

после вызова макроса Рис. 4.11 - Демонстрация работы процедуры WhileDemo

2. Выделить серым цветом первые строки каждого рабочего листа открытой книги Excel.Sub Z alivka()N=1Do While N<=Worksheets. Count Worksheets( N ) . Activate Worksheets( N ) . Rows( 1). Select Selection. Interior. ColorIndex=l 5 N=N+1 Loop End Sub3. Создать процедуру, позволяющую в каждом открытом документе Word для первой буквы установить размер шрифта 18пт, цвет буквы - красный, начертание - полужирное.Sub Буква()Dim k As Integer к 1 Do While k<=Documents. Count

With Application. Documents( k ) . Paragraph^ 1). Range. Characters( 1). Font. ColorIndex=wdRed . Bold=True . Siz e=18 End With k=k+l Loop End Sub

61

Page 62: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Цикл ForEachNextЦикл For-Each-Next применяется к массивам (элементам) и наборам объектов (например, ячейкам из диапазона).Синтаксис:For Each <элемент> In <набор><блок операторов>Exit For<блок операторов>Next <элемент>Примеры1. Занести число 0 в каждую ячейку выделенного диапазон.For Each Item In Selection Item. Formula=0 Next Item2. В Excel закрасить красным цветом ячейки с формулами в выделенном диапазоне.Sub RedFormula()

If TypeName( Selection) <>"Range" Then MsgBox "Выбери диапазон"Exit Sub End If

For Each Item In Selection ff=Format( Item. Formula) ss=Lef t(ff, 1)If ss= "=" Then Item. Interior. ColorIndex=3 Next Item End Sub

62

Page 63: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Цикл While WendЦикл While-Wendncncuib3ye'K^ для организации цикла с неизвестным заранее числом шагов (т.е. многократное выполнение блока операторов, пока условие принимает значение True).While <условие><блок операторов>WendПример1. Игра в кости. Играем, пока не выпадет шесть очков, о чем выдадим сообщение (рис.4.12). Получаем случайное число в диапазоне от 0 до 6 (Функция Rnd() вернет число от 0 до 1).Оно умножается на 6 и берется целая часть - применяется функция Int().Public Sub kosti()Dim att As Integer Dim score As IntegerRandomize 1 Функция инициализации генератора случайных чисел score = Int( 6 * Rnd()) + 1 att = 1While score < 6att = 1 + a tt1 подсчет бросковscore = Int( 6 * Rnd()) +1WendMsgBox "Победили на броске " & att End Sub

5ис. 4.12 - Результат игры Переход Go То

Оператор безусловного перехода GoTo задает переход на указанную строку (метку) внутри процедуры, метка:[оператор]GoTo метка ПримерБросаем игральную кость (игроку дают 10 попыток), если выпадет шесть очков - выдадим сообщение и игра заканчивается Public Sub game()Dim score As Integer, i As IntegerRandomizeFor i = 1 To 10score = Int( 6 * Rnd()) +1If score = 6 Then GoTo mss Next i GoTo finishmss: MsgBox "Выиграли при броске " & CStr( i) finish:End Sub

63

Page 64: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 5. Пользовательские функции и процедурыХорошая программ - это та, которая работает, но и работающая программа может быть плохой, если она написана непонятно! Программы надо комментировать, обязательно описывать переменные, присваивать именам переменных и процедур описательно-понятные имена, использовать отступы для форматирования текста программ.Процедурой называют программу или часть программы, имеющую собственное имя.Процедура SUB - это часть программы, которая выполняет некоторое действие. Она может иметь или не иметь аргументы, через которые ей можно передавать параметры.Процедура-функция FUNCTION - может получать параметры и возвращать в вызвавшую программу некоторое значение, чего обычная процедура делать не может.FUNCTION и отличается от SUB тем, что обязательно возвращает значение.Аргументы можно передавать по ссылке (что и делается по умолчанию) или по значению. В результате работы процедура может изменить значение аргумента, переданного по ссылке, но значение, переданное по значению, остается неизменным после окончания работы процедуры. Внутри процедур можно создавать переменные. И переменные, и процедуры имеют определенную область видимости, задаваемую ключевыми словами Public и Private.Когда функция (или любая другая процедура) вызывает саму себя, возникает рекурсия. Вот пример (рис.5.1) рекурсивной функции для вычисления факториала числа:Function Factorial74 As Long) As Long Ifn=l Then Factorial = 1 Else Factorial = Factorial(n-l)*n End If End FunctionРис. 5.1 - Пример рекурсивной функцииНапишем функцию для транспонирования матрицы А: В=АТ. Этот пример (рис. 5.2) демонстрирует разработку формул для массивов.Public Function Trans(A As Variant) As Variant'При работе с переменной А используются свойства объекта Range

Dim ВО As Variant Dimi As Integer, j As Integer 'Динамическому массиву В выделяется память ReDimB(l То A.Columns .Count, 1 То A.Rows .Count) As Variant Fori= 1 To A.Rows.Count For j = 1 To A.Columns .Count B(j,i) = A.Cells(ij)Nextj Nexti'Массив В возвращается в качестве резупвтата функции Trans Trans = В End Function Рис. 5.2 - Функция для массива (транспонирование матрицы)При вызове в качестве фактического параметра ей передается массив рабочего листа (объект Range), заданный в виде диапазона ячеек (рис.5.3) или своим именем. Этот массив (прямоугольная матрица) транспонируется, и новая матрица (рис.5.4) возвращается как результат. Она должна быть записана в выделенную в момент вызова область ячеек, отведенных для транспонированной матрицы. Функция, как и функция ТРАНСП, должна вызываться в формуле над массивами и, следовательно, связывается с каждой ячейкой выделенной области. Ввод таких формул для массивов завершается нажатием комбинации клавиш CTRL + SHIFT + ENTER, при этом курсор должен находиться в строке формул.

64

Page 65: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 5.3 - Ввод аргументов для функции транспонирования матрицы

Рис. 5.4 - Результат применения функции для массива

Эти примеры демонстрируют особенности офисного программирования в электронных таблицах. Разрабатывая структуру проекта приложения, необходимо разумно планировать процедуры, чтобы каждая из них выполняла свое собственное задание.Пример вызова функций в процедуреНа примере автоматизации заполнения документа применим пользовательскую функцию Пропись для прописывания текстом любого числового значения в документах офисного пакета.

65

Page 66: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Для автоматизации заполнения документов, использующих таблицы, в которых требуется производить вычисления (перемножение реквизитов и итоговое суммирование), можно разрабатывать макросы, проводящие данные вычисления. Например, для представленного ниже документа (рис.5.5) разработан макрос CalcProductByColumnAndSumByRow(), выполняющий расчет итоговой суммы и прописывание ее текстом вслед за таблицей. Этот макрос запускается, когда курсор находится в любом месте внутри таблицы.________________________________

А К Т П Р И Е М К И

это 4-ая строка таблицы

№п/й.

Ф Л .О . яр «■поза в» i t чя иобе д г ж ю и о м г г о

t w 6 mo 1 г п о м » т г т ь м о г е п ер со н ал а

П о д л г ж к т расчету я S* и а л терИХ

к с л ю часов, о т р а б о т а н н ы х ■

rpvnnr(н о д гр т и н О

р а с ц е н к а та 1 н аг

ггм зса к р асч ету

1 2. 3. 4 5

4 3465 13860 i

\ допустимо любое [ количество строк

4 3465 138602 3465 6930

И Т О Г О : 10 34 6 5 0

П р о ш у о п л а т и л Т р и д ц а т ь ч е т ы р е т ы с я ч и ш ест ь со т п я т ь д е с я т р у б л ей(су м м а п р о п и сь ю )

закладка ИТОГО

Рис. 5.5 - Пример документа с автоматизацией расчета и оформленияВ каждой строке вычисляется произведение количества часов на расценку, в строке ИТОГО подбиваются суммы. В месте предполагаемой суммы прописью в документе вставлена закладка (итого), которая заменяется результатом процедуры пропись ().Алгоритм решения состоит в следующем: предполагается, что в документе - одна таблица, поэтому к ней обращаются по индексу 1 (Selection.Tables(l)), где объект Selection - это любое место курсора в теле таблицы. Вначале подсчитываются количества строк (RRow) и столбцов (RColumn) таблицы. Организуем цикл от 4-ой строки до предпоследней (RRow-1). Поскольку в столбце количества часов могут быть нецелочисленные значения, введенную текстовую информацию надо конвертировать к числовой и произвести перемножение часов на расценку, т.е. числовых значений Р и S, и результат поместить в переменную PS и соответствующий столбец, применив форматирование до двух знаков после запятой и разбивку чисел по трррадам. В цикле производится рр подсчет суммарных данных: часов (Chas) и суммы денег (Sum). Все данные заносятся в требуемые ячейки таблицы (последний столбец и строку) рр осуществляется прописывание вставленной по месту закладки подсчитанной суммы пропррсью как результат действия процедуры Пропись. Следом добавляется денежная единица (руб.) и снимается выделегрие путем его сужения (методом Collapse) к когрцу текста.Данный алгоритм будет работать для таблррц, размер которых может меняться как в высоту, так и по количеству столбцов - главное, что вычррсления проводятся над двумя правыми столбцами, расположенными перед результрррующим.ЗАДАНИЕ .................Создайте в текстовом редакторе таблицу, подобную представленной на рисунке, создайте закладку итого за текстом «Прошу оплатить» и введите числовые данные в столбцы часов и расценок. Через цепочку Сервис - Параметры установррте режррм отображенрря закладок. Запустите макрос CalcProductByColunmAndSumByRowO, предварительно скопировав представленные ниже коды процедур в стандартный модуль проекта.Внесите изменения в таблицу: добавьте строки с новыми данными, можно добавить столбцы (но не забудьте, что вычисления выполняются над данными трех, последних столбцов), удалите прописанную ранее сумму (но не закладку) и вновь запустите макрос. Оцените результаты и проанализируйте коды предложенных процедур' Процедура Пропись Dim Сумма As Currency Dim Остаток As Currency Sub Пропись()

66

Page 67: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Dim СуммаЦифрами As Currency СуммаЦифрами = Selection.Text Selection.MoveRight Unit:=wdWord, Count:=l Selection.TypeText Text :=Cy м м аПр о лисью (Су м м аЦиф рами) End SubFunction Единицы(Разряд As Currency, Род As String) As String Select Case Разряд Case 1

If Род = "Мужской" Then Единицы = "один "Else

Единицы = "одна"End If Case 2

If Род = "Мужской" Then Единицы = " два "Else

Единицы = "две "End If Case 3 Единицы = "три "

Case 4Единицы = "четыре "

Case 5Единицы = " пять "

Case 6Единицы = " шесть "

Case 7Единицы = " семь "

Case 8Единицы = " восемь "

Case 9Единицы = "девять "

Case 10Единицы = "десять "

Case 11Единицы = "одиннадцать "

Case 12Единицы = "двенадцать "

Case 13Единицы = "тринадцать "

Case 14Единицы = "четырнадцать "

Case 15Единицы = " пятнадцать "Case 16Единицы = " шестнадцать "Case 17Единицы = " семнадцать "Case 18Единицы = " восемнадцать "Case 19Единицы = "девятнадцать "

End Select End FunctionFunction Десятки(Разряд As Currency) As String Select Case Разряд Case 2 Десятки = "двадцать "Case 3Десятки = "тридцать "Case 4Десятки = "сорок "

67

Page 68: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Case 5Десятки = "пятьдесят "Case 6Десятки = "шестьдесят "Case 7Десятки = "семьдесят "Case 8Десятки = "восемьдесят "Case 9Десятки = "девяносто "

End Select End FunctionFunction Сотни(Разряд As Currency) As String Select Case Разряд Case 1 Сотни = "сто "Case 2Сотни = "двести "Case 3Сотни = "триста"Case 4Сотни = "четыреста "Case 5Сотни = "пятьсот"Case 6Сотни = "шестьсот "Case 7Сотни = "семьсот"Case 8Сотни = "восемьсот "Case 9Сотни = "девятьсот "

End Select End FunctionFunction Тысячи(Разряд As Currency) As String If Разряд = 1 Then

Тысячи = "тысяча "Elself Разряд > 1 And Разряд < 5 Then Тысячи = "тысячи "Else

Тысячи = "тысяч "End If

End FunctionFunction Миллионы(Разряд As Currency) As String If Разряд = 1 Then Миллионы = " миллион "

Elself Разряд > 1 And Разряд < 5 Then Миллионы = " миллиона "Else

Миллионы = " миллионов "End If

End FunctionFunction Миллиарды(Разряд As Currency) As String If Разряд = 1 Then Миллиарды = "миллиард "

Elself Разряд > 1 And Разряд < 5 Then Миллиарды = "миллиарда "Else

Миллиарды = "миллиардов "End If

End FunctionFunction СуммаПрописью(СуммаЦифрами As Currency) As String Dim Труппа As Currency, Разряд As Currency, Длина As Currency Dim Пропись As String Сумма = СуммаЦифрами Остаток = Сумма

68

Page 69: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Г руппа = М(Остаток / 1000000000)If Г руппа <> 0 Then Разряд = Г руппа \ 100 Пропись = Пропись & Сотни(Разряд)

Остаток = Остаток - Разряд * 100 * 1000000000 Г руппа = Г руппа - Разряд * 100 If Группа >19 Then Разряд = Группа \ 10 Пропись = Пропись & Десятки(Разряд)

Остаток = Остаток - Разряд * 10 * 1000000000 Группа = Группа - Разряд * 10 End If Разряд = Г руппаПропись = Пропись & Единицы(Разряд, " Му жской")Остаток = Остаток - Разряд * 1000000000 Пропись = Пропись & Миллиарды(Разряд)

End IfГ руппа = М(Остаток / 1000000)If Г руппа <> 0 Then Разряд = Г руппа \ 100 Пропись = Пропись & Сотни(Разряд)

Остаток = Остаток - Разряд * 100 * 1000000 Г руппа = Г руппа - Разряд * 100 If Группа >19 Then Разряд = Группа \ 10 Пропись = Пропись & Десятки(Разряд)

Остаток = Остаток - Разряд * 10 * 1000000 Г руппа = Г руппа - Разряд * 10 End If Разряд = Г руппаПропись = Пропись & Единицы(Разряд, " Му жской") Остаток = Остаток - Разряд * 1000000 Пропись = Пропись & Миллионы(Разряд)End IfГ руппа = Int (Остаток / 1000)

If Г руппа <> 0 Then Разряд = Г руппа \ 100 Пропись = Пропись & Сотни(Разряд)Остаток = Остаток - Разряд * 100 * 1000 Г руппа = Г руппа - Разряд * 100

If Группа >19 Then Разряд = Группа \ 10 Пропись = Пропись & Десятки(Разряд)Остаток = Остаток - Разряд * 10 * 1000 Г руппа = Г руппа - Разряд * 10 End If

Разряд = Г руппаПропись = Пропись & Единицы(Разряд, "Женский") Остаток = Остаток - Разряд * 1000 Пропись = Пропись & Тысячи(Разряд)End IfГруппа = Остаток If Г руппа <> 0 Then Разряд = Г руппа \ 100 Пропись = Пропись & Сотни(Разряд) Остаток = Остаток - Разряд * 100 Г руппа = Г руппа - Разряд * 100

If Группа >19 Then Разряд = Группа \ 10 Пропись = Пропись & Десятки(Разряд)Остаток = Остаток - Разряд * 10 Г руппа = Г руппа - Разряд * 10 End If

Разряд = Г руппаПропись = Пропись & Единицы(Разряд, " Му жской") Остаток = Остаток - Разряд End IfДлина = Ееп(Пропись)If ЫПИ(Длина) Then Exit Function End If Лекция 5. Пользовательские функции и процедуры77Пропись = UCase(Mid(nponrn:b, 1, 1)) & (ММ(Пропись, 2, Длина - 2))СуммаПрописью = "(" & Пропись & ") "End FunctionSub CalcProductByColumnAndSumByRowODim RRow As Integer, RColumn As IntegerDim P As Double, S As Double, PS As Double, Sum As DoubleDim Chas As DoubleDim dl As Integer ' длина строкиDim sos As String ' сама строкаDim sss As Integer ' позиция запятойDim str As String ' строка с разделителем точкаRRow = Selection. Tables(l).Rows. CountRColumn = Selection. Tables(l). Columns. CountOn Error Resume Next

69

Page 70: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Sum = 0 : Chas = О For i = 4 To RRow - 1dl = Len(Selection.Tables(l).Cell(i, RColumn - 2).Range.Text) - 2 sos = Left(Selection.Tables(l).Cell(i, RColumn - 2).Range.Text, dl) sss = InStr(l, sos, vbTextCompare)If sss = 0 Then str = sos Elsestr = Left(sos, sss - 1) & & Mid(sos, sss + 1, dl - sss)

End If P = Val(str)S = Val(Selection.Tables(l).Cell(i, RColumn - 1).Range.Text)PS = P * SSelection.Tables(l).Cell(i, RColumn).Range.Text = ""Selection.Tables(l).Cell(i, RColumn).Range.InsertBefore _Format(PS, "# ##0.00")

Sum = Sum + PS : Chas = Chas + P Next Selection.Tables(l).Cell(RRow, RColumn - 2).Range.Text = ""Selection. Tables(l).Cell(RRow, RColumn - 2).Range.InsertBefore _Format(Chas, "###0.00")Selection. Tab les(l).Cell(RRow, RColumn).Range.Text = ""Selection.Tables(l).Cell(RRow, RColumn).Range.InsertBefore _Format(Sum, "# ##0.00")ActiveDocument.Bookmarks(" итого"). Select Selection.Text = Sum Пропись ‘ вызов пользовательской процедурыSelection. Text = "руб."Selection. Collap s e Direction:=wdCollap s eEnd End Sub ЗамечаниеПриведенный код можно усовершентвовать, избавившись от применения закладки. Используйте метод поиска текста в документе и вставки вслед за ним требуемой информации.

70

Page 71: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 6. Интерфейсные элементыПри разработке программ разумно применять доступный диапазон инструментов, который предоставляет среда офисных приложений. К визуальным элементам Windows-приложений относятся поля для ввода и редактирования текста, списки, переключатели, кнопки и другие объекты, позволяющие придать интерактивность вашему приложению - оно будет откликаться на ваши действия. Это относится и к применению диалоговых окон для управления работой приложения.Элементы, из которых состоят диалоговые окна, называются элементами управления ActiveX. Их можно располагать и в графическом слое рабочего листа или документа (рис. 6.1).

А В С D I E I F н

1 4 - J к у р с Ф И Т Р - - 1 ПО ДПСЦИГШИНе Системы управления базами данных --

3 I Заполнить П е ч а т ьВсего учебны х недель 16 ц с 09.02.07

5

; таблицу-*----------

гр 1 0 7 2 1 4 ,1 0 7 2 2 4 А. Распределение занятийРис. 6.1 - Пример использования элементов управления на листе Excel С помощью интерфейсных элементов можно:• вводить исходные данные;• выбирать варианты;• управлять ходом выполнения приложения.Например, можно создать на рабочем листе элементы, которые позволят сделать выбор и заполнить бланк, имитирующий форму для выписки авиабилетов (рис. 6.2).

Рис.6.2 - Пример имитации формы для выписки авиабилетаСтандартный набор элементов управления можно расширять, пользуясь разработками сторонних производителей.

71

Page 72: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Панели инструментовНа рабочем листе Excel (чаще всего, в шаблонах) можно размещать элементы управления, с помощью которых можно автоматизировать заполнение или выборку данных и их последующую обработку. Для этого можно использовать панели инструментов «Формы» или «Элементы управления» (рис. 6.3).________________________________Формы______________________________________ ▼ XАаяЫИ 1Р®1 1 ш ! л fffff (

Элементы управления ▼ XР|аЫ —1 (* |ig ЦН±1 AS

Рис. 6.3 - Вид панелей команд для управления приложениемЭлементы управления панели «Формы» “прорисовываются” прямо на рабочем листе и по контекстному меню выбранный объект можно форматировать: имеется ряд свойств, настройка которых позволяет связать их с ячейками рабочего листа, откуда будут выбираться или куда будут размещаться данные.Например, для элемента управления поле со списком (рис. 6.4) требуется указать диапазон, по которому будет формироваться список и ячейку, куда будет помещаться номер выбранного элемента из списка. По этому номеру, используя функции для работы с массивами и ссылками (ВПР, ГПР, ИНДЕКС и др.), а так же вспомогательные столбцы или строки с данными, можно определить и вставить в нужное место рабочего листа формулу, которая выбранный в списке элемент отобразит в результирующей ячейке. Конечно, решение получается громоздким, требующим дополнительных данных и связующих ячеек, но позволит избавиться от рутинных операций по набору данных в документы, создаваемых по разработанному шаблону.

Зис.6.4 - Настройка свойств элемента управления ПолеСоСпискомПанель «Элементы управления» используется аналогично, но можно обойтись без некоторых дополнительных данных. Выбранный элемент (рис. 6.5) также “прорисовывается” прямо на рабочем листе, затем на панели надо включить режим Конструктора - нажать кнопку с треугольником, это даст возможность доступа к настройке свойств элемента управления, которые отображаются по нажатию кнопки Свойства (рис. 6.6).

72

Page 73: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

jhc .6.5 - Прорисовка элемента Checkbox

’ис.6.6 - Окно свойств элемента Checkbox

73

Page 74: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 6. Интерфейсные элементы 85Управление элементамиКаждый элемент управления - объект со специальными свойствами, методами и событиями. Перечислим стандартные элементы управления: Label (Надпись), TextBox (Поле), ComboBox (Поле со списком), ListBox (Список), CheckBox (Флажок), OptionButton (Переключатель), ToggleBitton (Выключатель), CommandButton (Кнопка), MultiPage (Набор страниц), RefEdit (Поле для получения диапазона листов), ScrollBar (Полоса прокрутки), SpinButton (Счетчик), Image (Изображение).• Каждый элемент управления обладает свойствами (уникальными и некоторыми общими: имя- ю),

расположение и размер (Height, Width, Left, Right).Настройка свойств производится через диалоговое окно или программно.• Каждый элемент управления обладает методами (они осуществляют действие с объектом:

сдвинуФ(Моуе), OTo6pa3iiTb(Show), скрытьО-lide), вставить(1ше11) и т.д.)• Каждый элемент управления может реагировать на событие: нажать(СНск), изменить

3Ha4eHHe(Change), открыть(Ореп) и т.д.В коде VB А пишутся специальные программы - обработчики событий с реакцией на то или иное действие.Программные коды «с реакцией на действия пользователя» будут располагаться на листах, в которых используется данный элемент управления. Для примера загрузите файл controls.xls и посмотрите применение элементов управления на рабочих листах книги. В кодах проекта найдите процедуры - обработчики событий некоторых элементов управления, часть из них приведена ниже в таблице 6.1.Таблица 6.1 - Примеры элементов управления и обработчики событий ____________________

End Sub 6.7 - Кнопка

Private Sub TestBoxl_ChangeQ Cells(20, 2).Value = TextBoxl Value End Sub

>ис. 6.8 - Поле86 Учебно-методический комплекс

74

Page 75: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

5ис. 6.9 - Флажок

Рис. 6.10 - Полосы прокрутки

75

Page 76: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

D Microsoft Excel - controls

Файл Правка Вид Вставка Формат Сервис Данные _ & X

j d I а . ■ юо%fx Август

В DАвгуст

3 ▼4 Май5 Июнь6 Июль7 Август S8 Сентябрь9 ' Октябрь10 Ноябрь11 Декабрь ▼

ЯнварьФевральМартАпрельМайИюнь

АвгустСентябрьОктябрьНоябрь

и * ► и / Список \Раскрывающийся_список/г отово

< >

Private Sub ComboBaxl_ChangeQ Cells(l, 1) = ComboBoxl. Value End Sub

Рис. 6 .11- Раскрывающийся список

Зис. 6.12 - Список88 Учебно-методический комплекс

76

Page 77: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 6.13 - Переключатель

j hc . 6.14 - Календарь

Private Sub Calendarl_Click() CeEs(l, 1). Value =Calendar 1.'Value End Sub

77

Page 78: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Подготовка и управление спискамиСписки часто используются для управления приложением, поскольку позволяют исключить ручной набор информации и предотвращают возможные ошибки ввода. На рисунке 6.15 продемонстрированы два списковых элемента: в первом данные в строке списка разделены пробелом, а во втором мы видим многоколончатый список (в данном случае имеем три колонки).

— Гомель 13:30 30 J

[о т

Гомель 13:30 30

ГРис. 6.15 - Виды списовых элементовПодготовка списков может проводиться при первом открытии документа, т.е. в обработчике события

Open.На рисунке 6.16 приведены коды обработчика событий Workbook_Open(), в котором на рабочем листе Лист1 подготавливаются два списковых элемента - ComboBoxI и ComboBox2, в которые методом Addltem добавляются элементы списка. Обратите внимание на второй многоколончатый список: в нем количество колонок задается свойством ColumnCount и устанавливается равным трем. Первый элемет добавляется, как и в первом списке, методом Addltem, последующие - методом List с указанием номера строки и колонки, отсчет которых ведется с нуля.Private Sub Workbook Open() Worksheets( "Лист1") . ComboBoxI.

AddltemWorksheets( "Лист1

Worksheets( "Лист1")

Worksheets( "Лист1") Worksheets( "Лист1") Worksheets( "Лист1")

Worksheets( "Лист1") Worksheets( "Лист1") Worksheets( "Лист1") End Sub

) . ComboBoxI. AddltemComboBox2. ComboBox2. AddltemComboBox2. List( 0, ComboBox2. List( 0, ComboBox2. AddltemComboBox2. List( 1, ComboBox2. List( 1,

" Гомель 13: о ° 30"Брест 21: 30 130

" Брест"1) = "21: 30"2) = "130"

ColumnCount = 3

Гомель' S И S

Рис. 6.16 - Код обработчика для подготовки списковРассмотрим, как работают со списками. На рисунке 6.17 в столбец В данные попадают из первого

списка, а в столбец С - из многоколончатого списка.

78

Page 79: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 6.17 - Демонстрация работы списковДля первого списка нам понадобится массив, в который из выбранной строки списка, используя функцию Split, мы разобьем ее на части по символу-разделителю пробел и заносим разделенные части в ячейки листа.Private Sub ComboBoxl_Change()Dim mas() As String For i = 0 To 2 mas() = Split( ComboBoxl. Value, " ")NextRange( "b2") .Value=mas( 0) ' ComboBoxl. Value Range( "b3") .Value=mas( 1) ' ComboBoxl. Value Range( !!b4") .Value=mas( 2) ' ComboBoxl. Value End SubВо втором случае используем многоколончатый список и данные колонок заносим в ячейки С4:С6.Private Sub ComboBox2_Change()ActiveSheet. Range( "c4") .Value =ComboBox2.Column(0)ActiveSheet. Range( "c5") .Value =ComboBox2.Column(l)ActiveSheet. Range( "c6") .Value =ComboBox2.Column(2)End SubДля удаления элементов из списка используют метод Removeltem.Для выяснения количества имеющихся в списке элементов используется свойство ListCount

79

Page 80: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Лекция 7. Диалоговые окнаВ VBA используются стандартные диалоговые окна, которые формируют процедуры и функции MsgBox и функция InputBox, но возможности их достаточно ограничены.При разработке сложных программ потребуется отображение диалоговых окон, настроенных на потребности конкретной программы. Элементы, из которых состоят нестандартные (настраиваемые) диалоговые окна (рис.7.1), называются элементами управления ActiveX. Для формирования таких диалоговых окон в проект добавляют объект UserForm, на котором размещают элементы управления, снабжаемыепрограммным кодом для их взаимодействия с пользователем приложения.

Зис. 7.1 - Пользовательское диалоговое окноДля создания формы (рис.7.2) в проекте VBA выполняют следующие действия:• команда Insert - UserForm;• нажать кнопку для отображения панели инструментов ТооЮох, если ее не было на экране;• включить отображение окна свойств элементов управления.

Зис. 7.2 - Создание формы в проекте VBAЗатем на форме размещают необходимые элементы управления, настраивают их свойства (рис.7.3) и пишут обработчики событий. На рисунке представлена форма UserForm 1, на которую с панели Toolbox перетащили элементы управления CommandButton и TextBox, внизу слева отображено окно свойств (Properties)выделенного элемента управления. Каждый элемент управления имеет собственный набор уникальных свойств, например, свойство Name - определяет имя элемента управления, свойство Caption - надпись и т.д. Разработчик сам определяет дизайн формы. Используя команду Format,

Page 81: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

предварительно выделенные элементы на форме можно выравнивать, задавать размеры, объединять в группы.

Рис.7.3 - Проектирование формыОбработчики событий - это программы, отвечающие на действия пользователя, например, нажатие кнопки (Click), изменение данных (Change). Чтобы создать обработчик события, выбирают элемент управления (рис.7.4) и в правом окне - необходимое событие. В результате появляется заглушка, которая наполняется необходимымпрограммным кодом. _______________________________

Зто элемент управления на форме и _____ его обработчик события_____

^ M k io to f t Vmi.il Вмк . К дикумтор «К - [Usei,l <и n 1 (Cede)] \ ------------------ E 3 i013 Tie View Insert Format CJebsrg Mir look Add-Ins Wndow b*te \ - - в X

l a - H A N o > / . i d Ь П Я Ъ ‘ © ine.Coii \ „XJ btneilc / (J

1 kc 1. \ w ]□ a о . Owwtfh A —- 4$ VBAProjrct (Калькуяятор.хК rtnsek 1 1

- —a Moostft Excel Objects С1ГО»«jSheetl (Sheetl) rtofil■Ц She*t2(She*t2) Mlop!■П Sheets (Sheet3) «IreiuM krtfhest

f j TtaWorkboofc. UseiFoim- Forms

3 UserFoeml рэдеец» v

Рис. 7.4 - Как начать разработку программы-обработчика событияЛекция 7. Диалоговые окна 97

Порядком перехода от одного элемента управления к другому можно управлять. Для этого в Конструкторе формы выбирают команду View - Tab Order (Вид - Последвательность переходов) и изменяют порядок следования элементов управления на нужный.

Page 82: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Элементы управления

Рис. 7.5 - Панель элементов управленияПользовательский интерфейс в проектах VBA реализуется с помощью визуальных компонентов или, проще, элементов управления. Любой элемент управления имеет свойства положения и размера. Элементы, из которых состоят диалоговые окна, называются элементами управления ActiveX. Найти их можно на панели (рис.7.5), которая называется ТооЮох. Панель ТооЮох представляет набор вкладок (по умолчанию - одна), на которых размещаются кнопки. Ниже представлены основные элементы управления, позволяющие реализовать практически любые пользовательские задачи.Доступные элементы управления панели ТооШох:]. /ч Checkbox (флажок) позволяет выбрать один из двух вариантов: «да» или «нет».

2. И ComboBox - раскрывающийся список, где отображается только одно значение и разрешено вводить значения (поле со списком).3 .

4.5.з. 7.J CommandButton - кнопка. Используется для того, чтобы начать, прервать или закончить какой- либо процесс путем нажатия кнопки.

Frame - применяется как контейнер (группировка) для других элементов управления, используется, когда диалоговое окно содержит, например, боле одного набора элементов управления OptionButton.ES Image - используется для представления графического изображения (рисунка).А ~ ' '□

Label - отображает текст в диалоговом окне (метка или надпись).11 ListBox представляет собой список, из которого можно выбрать один или несколько элементов, а сам список можно связать с ячейками (столбцами) рабочего листа или заполнять с помощью кода VBA.8. _J MultiPage - набор страниц, т.е. создание диалогового окна с несколькими вкладками (по

умолчанию из двух).9. (* OptionButton (переключатель) применяется при выборе одного варианта из нескольких, эти

элементы группируются в наборы и когда выбран один, все остальные становятся неактивными.10. ГЭ RefEdit - используется, когда надо выделить диапазон ячеек на рабочем листе и получить

ссылку на адреса выделенного диапазона (как, например, ввод диапазона в окне создания формул в Excel).

11. ScrollBar - полоса прокрутки - подобен элементу SpinButton, но лучше использовать при выборе значения из большого диапазона.

12. SpinButton (счетчик) позволяет выбрать значение в результате щелчка на одной из двух кнопок со стрелками (для увеличения или уменьшения значения), используется совместно с элементом TextBox и Label.

13. abl TextBox (текстовое поле) позволяет вводить или выводить текст в диалоговом окне.14. ToogleButton (выключатель) имеет два состояния: включено (True) и выключено (False).

Page 83: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

На панель можно добавить и другие элементы управления, такие как календарь (Calendar Control), календарь со списком (DTPicker), полоса выполнения (ProgressBar), табличный список (ListView), дерево просмотра (TreeView) и др.Элементы управления являются «кирпичиками» визуального программирования - достаточно разместить их на форме и настроить необходимые свойства, не вникая в его внутреннюю структуру. Лекция 8. Управление приложениемКроме разработки нестандартных диалоговых окон с VBA имеются средства, которые позволяют разрабатывать завершенные профессиональные программы: меню и панели инструмент. Таким образом, можно настроить интерфейс пользователя приложений MS Office, учитывая специфику предметной области и сформировать собственные панели инструментов (рис. 8.1) и собственные команды меню для удобной работы с документами или рабочими книгами.И строки меню, и панели инструментов представляют собой область ("панель"), содержащую такие элементы управления интерфейса, как пункты меню, кнопки и т.п. Панель инструментов может отображаться в плавающем окне или быть прижатой к любому краю приложения и содержать списки, поля, всплывающие меню и другие элементы управления.

По преподавателям По семестрам

Моя панель

Импортирование d текстового

файла

а!Импортирование

текстовогофайла

Рис. 8.1 - Примеры панелей инструментовКак видно из рисунка, на панели инструментов может быть значок, текстовая информация, различные комбинации текста и значка, возможность выбора из списка нужного значения.Для создания подобных инструментов необходимо ознакомиться с объектами управляющей панели, их элементами и изучить их свойства и методы.Меню и панели инструментовВсе приложения MS Office реализуют строки меню и панели инструментов в виде различных подтипов одного класса объектов: объекта CommandBar. Этот объект является контейнером и может содержать объекты CommandControl. На рисунке 8.2 представлены объекты для работы с меню. Объекты для работы с меню

CommandBars (CommandBj, CommandBarControls (CommandBarControl) CommandBarButton C omman dB arC omb oB ox C ommandB ar Popup

Коллекция CommandBarControLs предоставляет доступ ко всем элементам управления панелей команд. Чтобы получить доступ к коллекции CommandBarControLs конкретного объекта CommandBar, необходимо использовать свойство Controls этого объекта.Панель команд (CommandBar) — объект, который используется в VBA для управления меню и панелями инструментов. Данный объект позволяет программно управлять элементами интерфейса, включающими:* Строку меню, панели инструментов и контекстные меню.* Меню на строке меню и панелях инструментов.* Подменю в меню, подменю в контекстных меню.Рис.8.2 - Объекты для работы с меню

Page 84: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Объекты Соттап Ваг м о гут не содержать или содержать один либо несколько объектов СоттапdControl Каждый объект СоттапdControl представляет всплывающее меню, кнопку, список или какой-либо иной элемент управления управляющей панели.Кнопочный элемент управления (ButtonControl) - кнопка на панели инструментов (отображается только как значок) или элемент меню (только как текст или значок и текст) в меню, подменю или контекстном меню.Комбинированный элемент управления (ComboBoxControl) — объект, представляющий собой пользовательское поле, выпадающий список или поле со списком на строке меню, панели инструментов, подменю или контекстном меню. Пользовательский комбинированный элемент управления может отображаться с надписью или без нее.Всплывающий элемент управления (PopupControl) — объект, представляющий собой встроенный или пользовательский элемент управления на строке меню или панели инструментов, который отображает меню при щелчке на нем мышью. Этот объект также позволяет получить программный доступ к встроенным или пользовательским элементам меню в меню, подменю или контекстном меню, которые отображают подменю, когда указатель расположен над ним.Значки для элемента управления, действие, выполняемое по нажатию на элемент управления и другие свойства настраиваются программно через соответствующие параметры.Таблица 8,1 - Некоторые методы и свойства управляющей панели и элементов управления_______Объект Свойство

или методОписание

КоллекцияCommandBars Count

Возвращает число, указывающее количество элементов в коллекции.

Add Добавляет новую панель в коллекцию CommandBars.Объект CommandBar Controls Возвращает коллекцию CommandBarControls,

представляющую все элементы управления в управляющей панели.

Index Возвращает номер указателя управляющей панели в коллекции CommandBars.

Name Возвращает или устанавливает имя управляющей панели.Position Возвращает или устанавливает позицию (msoBarLeft,

msoBarTop, msoBarRight, msoBarPopup, msoBarMenu и др.) указанной панели.

Type Возвращает тип управляющей панели: msoBarTypeMenuBar - строка меню, msoBarTypeNormal - панель инструментов, msoBarTypePopup - всплывающая панель команд.

Delete Удаляет указанную панель из коллекции CommandBars.FindControl Используется для поиска элемента управления на основе

значений некоторых свойств (Type, Tag, Id и Visible) объекта С ommandB arC ontrol.

ОбъектCommandBarControl

Caption Содержит текст заголовка указанного элемента управления.BeginGroup Указывает начало группы элементов управления, если имеет

значение True.On Action Содержит имя макроса, подлежащего выполнению при

щелчке на элементе управления или изменении его значения.Tag Позволяет уникально идентифицировать элемент управления.

Tool TextСодержит текст, отображаемый в подсказке элемента управления.

Page 85: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Type Возвращает тип элемента управления: msoControlButton для CommandBarBatton - в меню создает команду пункта меню или на панели инструментов создает кнопку, msoControlComboBox для CommandBarComboBox - создает на панели инструментов поле со списком, msoControlPopup для CommandBarPopup - в меню создает подменю или на панели инструментов создает раскрывающееся меню.

Visible Имеет значение True, если элемент управления видим.Copy (Move) Копирует (перемещает) элемент управления в другую панель.Delete Удаляет элемент управления.SetFocus Перемещает фокус клавиатуры для предстоящего ввода к

элементу

Page 86: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Пример создания менюНа рисунке 8.3 мы видим стандартное меню приложения Excel.

эис. 8.3 - Стандартное менюНа рисунке 8.4 мы видим другой вид панели управления, где появилась новая панель "Моя строка мент " с пунктом меню Файл и новым пунктом меню - Команды. Пункт Файл выполняет действия, соответствующие его действиям из стандартной панели, а пункт меню Команда позволяет выбрать Справку или Восстановить обычную строку меню.

Зис. 8.4 - Подменю пункта КомандыРазработаем два обработчика событий (рис. 8.5), которые работают при открытии (Workbook Open) и перед закрытием (Workbook_BeforeClose) рабочей книги (их набирают в кодах объекта ThisWorkboo). В них вызываются процедуры, создающие панель и удаляющие ее. Заметим, что правилом хорошего тона является приведение приложения к стандартному виду, если для своего приложения вносятся какие-то корректировки в управляющие панели.

Page 87: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Рис. 8.5 - Обработчики событий и место их расположения Что делают эти макросы?Макрос D е 1 е t е М е гш В а 1 у д а л я ет панель "Моя строка меню".Макрос МакеМепиВагсоздает панель "Моя строка меню", причем сначала вызывается макрос на ее удаление, если она была. Далее происходит добавление панели и настройки ее вида и действий. В комментариях описаны действия команд макроса.Приведем тексты этих макросов.Option Explicit Sub DeleteMenuBar()On Error Resume Next

CommandBars( "Моя строка меню") . Delete On Error GoTo 0 End Sub Sub MakeMenuBar()Dim NewMenuBar As CommandBar Dim NewMenu As CommandBarControl Dim Newltem As C omm an dB ar C ontr olCall DeleteMenuBar ' Удаление строки меню, если она существуетSet NewMenuBar = CommandBars. Add( MenuBar: =True)' Добавление строки меню NewMenuBar. Name = "Моя строка меню"NewMenuBar. Vis ible = True' Копирование меню File (1D=30002) со строки меню листа CommandBars( "Worksheet Menu Bar"). FindControl( ID: =30002). Copy _Bar: =CommandBars( "Моя строка меню")' Добавление нового менюSet NewMenu = NewMenuBar. Controls. Add( Type: =ms oControlPopup)NewMenu. Caption = "& Команды"' Добавление новой опции менюSet Newltem = NewMenu. Controls. Add( Type: =ms oControlButton)Newltem. Caption = "&Восстановить обычную строку меню"Newltem. OnAction = "DeleteMenuBar"' Добавление новой опции менюSet Newltem = NewMenu. Controls. Add( Type: =ms oControlButton)Newltem. Caption = "&Справка"Newltem. OnAction = " ShowHelp"End Sub

Page 88: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

Замечание: каждый пункт имеет свой уникальный код ID, по которому можно найти нужный объект (в данном случае это пункт File).Добавление подпунктов осуществляется методом Add с указанием типа кнопки, ее заголовка и действия (макрос), которое будет выполняться при выборе данного пункта.Макрос ShowHelp вызыватся для демонстрации работы подпункта Справка.Sub ShowHelp()

Dim Msg As StringMsg = "Это только демонстрация команды."MsgBox Msg, vbl nfonnation End Sub

Наберите предлагаемые коды процедур и проверьте работоспособность пользовательской панели. Пример создания панели инструментовТребуется разработать панель инструментов (рис. 8,6) в кнопкой для выбора месяца.______________

Список М' ▼ X

Я н в а р ь

ФевральМартАпрельМайИюньИюльАвгустСентябрьОктябрьНоябрьДекабрь

Рис. 8.6 - Выбор из меню-спискаОбработчики событий при работе с книгой представлены на рисунке 8.7.

Private Sub Workbook Open() Call MonthList End Sub Private Sub Workbook Before Close (Cance 1 As Boolean.) On Error Resume Next

Application.CommandBars("Список месяцев") .Delete On Error GoTo □End Sub

Рис. 8.7 - Код обработчиков событий объекта ThisWorkbook Код модуля:Option Explicit Sub MonthList()Dim TBar As CommandBar, NewDD As CommandBarControl Dim i As Integer On Error Resume Next

Page 89: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей

CommandBars( "Список месяцев") . Delete On Error GoTo 0 Set TBar = CommandBars.Add ' Создать новую панель With TBar

. Name = "Список месяцев"

. Visible = True End With ' Добавить раскрывающийся список

Set NewDD = CommandBars( "Список месяцев"). Controls. Add _( Type: =ms oControlDropdown)With NewDD

. Caption = "DateDD"

. OnAction = "PasteMonth"

. Style = ms oButtonAutomatic F o r i = l T o l 2 ' Заполнить названиями месяцев . Addltem Format( DateSerial( 1, i, 1) , " mmmm" )

Next i. Listlndex = 1 End With End Sub

Код макроса, вызываемого при работе с кнопкой на панели инструментов: Sub PasteMonth( ) ' Е1оместить выбранный месяц в активную ячейку On Error Resume Next

With CommandBars( "Список месяцев") . Controls( "DateDD")ActiveCell. Value = . List( . Listlndex)

End With End

Page 90: УТВЕРЖДЕНО» тШя/iuk.taalim.kg/college-study/uchebno-metodicheskaya... · навыков и (или) опыта деятельности 23 6.30писание показателей