- •«Программирование линейных алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы:
- •Варианты заданий:
- •Организация ввода-вывода информации.
- •Краткие теоретические сведения
- •Ход работы
- •2. Выполните задачи для самостоятельного решения
- •«Программирование разветвляющихся алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы
- •Задания для выполнения лабораторной работы:
- •«Программирование циклических алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Инструкция For...Next
- •Инструкция While...Wend
- •Инструкция Do...Loop
- •Инструкция For Each...Next
- •Ход работы:
- •Задания:
- •«Программирование алгоритмов с массивами на языке vba»
- •Ход работы:
- •«Программирование функций обработки строк на языке vba»
- •Краткие теоретические сведения:
- •Задания для выполнения лабораторной работы
- •«Изучение объектной модели excel»
- •Краткие теоретические сведения:
- •Объект Workbook.
- •Объект Worksheet.
- •Ход выполнения работы:
- •«Обработка событий»
- •Краткие теоретические сведения:
- •Использование процедур событий
- •Реагирование на изменения в рабочем листе
- •События Change и SheetChange
- •Ход выполнения работы:
- •«Создание пользовательской формы»
- •Краткие теоретические сведения
- •«Использование элементов управления»
- •Краткие теоретические сведения:
Задания для выполнения лабораторной работы
Подсчитать, сколько раз каждый символ русского алфавита встречается в заданной строке. Прописные и строчные символы считать одинаковыми.
Для заданной строки символов строчные буквы латинского алфавита преобразовать в прописные, а прописные – в строчные.
Вывести на экран заданную строку символов в обратном порядке.
Для заданного предложения вывести каждое слово в отдельную ячейку. Подсчитать количество слов в предложении.
Удалить из произвольного текстового выражения все пробелы. Подсчитать количество пробелов.
Для заданных фамилии , имени и отчества студента вывести на экран только фамилию и инициалы.
Написать заданное слово вразрядку (т.е. с пробелами после каждой буквы). Определить количество букв в слове.
Ввести с клавиатуры две строки: фамилия, имя, отчество и номер группы. Получить строку вида: ФИО—студент группы 106713. Определить длину полученной строки.
Ввести с клавиатуры 2 строки. Определить, входит ли вторая строка в состав первой. Если да , то с какой позиции.
Преобразовать заданное число в строку. Сформировать строку вида: ХХХ рублей. Определить длину полученной строки.
Определить, какая из двух заданных строк длиннее. Результаты вывести в виде: «первая строка (текст) длиннее второй (текст). Определить длину результирующей строки.
Подсчитать количество гласных и согласных букв в заданном слове.
Лабораторная работа № 7
«Изучение объектной модели excel»
Цель: Изучить программирование основных объектовEXCEL.
Задание:
Изучить объектную модель EXCEL.
Составить программу на языке VBA
Краткие теоретические сведения:
Excel состоит из более чем 100 объектов - от ячеек и диаграмм до рабочих книг и электронных таблиц. Каждый объект имеет набор свойств, управляющих его внешним видом и поведением, а также содержит методы, обеспечивающие определенные действия с помощью этого объекта. Некоторые объекты имеют события, которые выдают сообщение пользователю, когда происходит что-нибудь интересное.
Например, объект Workbook представляет собой конкретный файл Excel. Он имеет свойства Name (имя файла), Path (имя каталога) и Author (имя автора файла). Метод Save сохраняет файл, а PrintPreview осуществляет просмотр рабочей книги на экране. Вот как выглядит использование этих методов:
' задает имя автора Workbooks("Book1.xls").Author = "Bill" ' осуществляет просмотр рабочей книги Workbooks("Book1.xls").PrintPreview
Существует два способа ссылок на объекты: можно сослаться непосредственно на имя одного из объектов или на индекс в коллекции. Согласно самому простому определению коллекция - это группа похожих объектов. Все объекты Excel разделяются на два класса: единичные объекты и объекты в коллекции. Для первых ссылка осуществляется непосредственно по их имени, для вторых - по индексу в данной группе. Коллекции предоставляют возможность иерархической организации объектов.
Например, коллекция Workbooks содержит все объекты Workbook. Чтобы сослаться на конкретную рабочую книгу, можно указать имя:
Workbooks("Book1.xls")
или номер Workbooks(1)
Ключевыми объектами в Excel являются Application,Workbook,WorksheetиRange, которые образуют иерархию, показанную на рисунке 1.
Объект Applicationпредставляет собой саму программу Excel. Все приложения Excel/VBA реализуются в Excel, поэтому можно рассматривать этот объект в качестве среды, в которой они осуществляются. Любые установки свойств или вызовы методов, совершенные с объектом Application, воздействуют на весь Excel и соответственно на все приложения VBA, выполняемые в его среде (табл.1). Например, используя объект Application, можно сделать невидимой строку состояния Excel и изменить его заголовок:
Application.DisplayStatusBar = False Application.Caption = "Пользовательское приложение"
Рисунок 1–основные объекты EXCEL
Объект Workbookявляется файлом рабочей книги Excel. В терминах разработки приложений его можно рассматривать в качестве механизма доставки или контейнера для любого приложения VBA, созданного при помощи Excel. Любые установки свойств или вызовы методов, совершенные с объектом Workbook, воздействуют на данное приложение (табл.2). Например, для установки защиты и сохранения рабочей книги можно использовать такой код:
With Application.Workbooks(1)
.Protect
.Save End With
Объект Worksheet, содержащийся в Workbook, служит нескольким целям в приложении Excel/VBA (табл.3). Он используется в качестве основы для разработки форм - большинство пользовательских форм в Excel создано с его помощью. Эти объекты также предоставляют многофункциональную сетку (grid), которая предназначена для вывода и обработки данных; и она содержит ячейки, куда пользователь может включать формулы для выполнения вычислений. При этом свойства и методы объекта Worksheet обрабатывают электронную таблицу как единое целое. Например, следующий код изменяет имя электронной таблицы и сделает ее невидимой:
With Application.Workbooks(1).Worksheets(1)
.Name = "Работа с ценными бумагами"
.Visible = False End With
Объект Rangeпредставляет собой одну или несколько ячеек в электронной таблице. Он используется в основном для хранения и вывода фрагментов данных: чисел, строк или формул. Ячейки электронной таблицы, которые представлены в объекте Range, обладают широкими возможностями. Например, пользователь способен получить доступ из ячейки к более чем 400 встроенным функциям Excel и вызвать функции VBA. Можно также установить связи с другими ячейками в той же самой электронной таблице, других электронных таблицах или других рабочих книгах. Гибкость и мощность объекта Range позволяют совершенствовать встроенный вычислительный блок Excel и создавать более сложные приложения для анализа данных (табл.4).
Например, следующий код задает формулу в ячейке и выводит полученное значение в окне сообщения:
Range ("A1").Formula = "=SUM(B3:B12)" MsgBox Range("A1").Value
Таблица 14 - Методы и свойства объекта Application.
Свойства | |
Caption |
Заголовок выводится в строке заголовка Excel |
ScreenUpdatind |
Если установлено как True, Excel обновляет изображение экрана по мере выполнения макроса. Если установлено как False, то обновления экрана не происходит |
CommandBars |
Возвращает коллекцию, представляющую собой меню и панели инструментов Excel. Может использоваться для настройки и создания новых меню и панелей инструментов |
DisplayStatusBar |
Используется для того, чтобы сделать видимой или невидимой строку состояния |
DisplayFormulaBar |
Испольуется для того, чтобы сделать видимой или невидимой строку формул |
Методы | |
Calculate |
Осуществляет повторное вычисление по всем формулам во всех электронных таблицах во всех открытых рабочих книгах |
Quit |
Закрывает приложение Excel |
Intersect |
Возвращает объект Range, представляющий собой пересечение двух или более диапазонов |
Union |
Возвращает объект Range, представляющий собой объединение двух или более диапазонов |