Объективно-ориентированное программирование на VBA в среде Excel
Курсовой
проект по информатике на тему:
«Объективно-ориентированное
программирование на
VBA в среде Excel»
Вариант
№ 18
Москва
2010
Содержание:
Введение
- Постановка задачи
- Теоретическое введение
- Разработка проекта
- Окончательный вид таблицы «Экспорт основных товаров из России в январе- сентябре 1992г.»
Заключение
Список используемой
литературы
Введение
Информатика это предмет, изучающий компьютер и его составляющие, а также различные программы позволяющие производить расчеты, делать графики, составлять таблицы и т.д. Часто при работе с приложениями MS Office возникает необходимость автоматизировать выполнение той или иной последовательности действий, дополнить интерфейс приложения новыми окнами диалога, панелями инструментов и, таким образом, расширить возможности работы с документами. Для этого разработчики MS Office предоставили в распоряжение инструмент с большими возможностями, который достаточно прост в освоении. Этим инструментом является язык программирования Visual Basic for Applications (VBA). Инструментарий Visual Basic используется в качестве внутреннего языка программного пакета Microsoft Office (Word, Excel и др.). С помощью Visual Basic можно создавать приложения практически для любой области современных компьютерных технологий: бизнес-приложения, игры, мультимедиа, базы данных.
Сейчас этот язык используют не только программисты-любители, но и все больше коммерческие организации. Так, например абсолютное большинство организаций занимающихся реализацией продукции используют в своей работе прайс-листы, созданные в Excel, с обработкой данных программами написанными на языке Visual Basic.
Visual
Basic является мощным программным средством,
с помощью которого можно реализовать
широкий спектр практических задач.
1. Задание
Для размещения
на рабочем листе Excel табличного
документы и визуальных элементов управления
в среде VBA разработать проект, включающий
в себя следующие компоненты:
- Процедуру макроса формирования заголовка таблицы;
- Диалоговое окно (форму пользователя), реализующую интерфейс пользователя с проектом;
- Диалоговое окно (форму пользователя) для ввода данных в таблицу;
- Процедуру нахождения строки ввода;
- Процедуру построчной записи информации из окон ввода формы в таблицу;
- Процедуру очистки окон ввода диалогового окна;
- Процедура расчета значений незаполненных столбцов таблицы;расч
- Процедуру очистки таблицы;
- Вспомогательные процедуры;ввод, закр, выход
- Управляющую кнопку на рабочем столе для запуска проекта.
2. Теоретическое введение
2.1 Анализ средств решения задачи и предварительный состав проекта
VBA относится к языкам объектно-ориентированного программирования, поэтому знакомство с ним естественно начать с понятия объекта.
- Объекты:
Объект – основной элемент VBA Excel. В VBA объектами являются рабочая книга, рабочий лист и его составляющие.
Примеры объектов:
- Sheet – лист Excel;
- Cell – ячейка;
- Range – диапазон ячеек;
- Application – приложение;
- UserForm – пользовательская форма.
Доступ к объекту возможен через его методы и свойства.
- Методы
Над
объектами можно совершать
Название метода отделяется от названия объекта точкой «Объект.метод».
Примеры использования методов:
- Range («B2:E2»).Select – выбрать диапазон ячеек В2:Е2;
- Range («C1:C5»).Clear – очистить диапазон ячеек С1:С5;
- UserForm2.Hide – скрыть форму № 2;
- UserForm5.Show – показать форму № 5;
- Application.Quit – выйти из приложения.
- Свойства
Свойствами описываются характеристики объектов. Например, размер и цвет шрифта, положение формы на экране или состояние объекта (доступность, видимость). Чтобы изменить характеристику объекта, надо просто изменить значение свойства, т.е. присвоить ему определенные значения.
Синтаксис установки значения свойства: «Объект.Свойство = Значение Свойства», – где «Объект» обозначает имя объекта, «Свойство» – имя свойства, которому присваивается значение. Имя объекта отделяется от имени свойства точкой.
Примеры свойств:
- Range («D1»).Value = 2005 – поместить в ячейку D1 значение 2005;
- Range («C1:C10»).Text = «Информатика» – поместить в диапазон ячеек С1:С10 текст Информатика;
- Range («В2»).Font.Size = 14 – в ячейке В2 установить размер шрифта 14.
- События
Событие представляет собой действие, распознаваемое объектом (например, щелчок мышью или нажатие клавиши, перемещение мыши или выход из программы), для которого можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие.
В языке VBA для каждого объекта определен набор стандартных событий. Стандартное событие для объекта «кнопка» (CommandButton) – щелчок мышью (Click).
Если пользователь нажимает на кнопку, то это событие. На это событие должен быть отклик, т.е. выполнение какой-либо программы. Такая программа называется процедурой обработки событий и имеет стандартное имя. Элементы языка VBA
Объекты – основные элементы языка VBA, но не единственные. К другим элементам относятся: константы, переменные, массивы, выражения, встроенные функции, встроенные диалоговые окна, операторы.
Константы – данные, не изменяющиеся в процессе решения задачи. Константы бывают двух видов: числовые и символьные.
Числовые константы – это целые либо вещественные числа.
Символьные константы – текст, заключенный в кавычки. Пример числовой константы – 5,8 (использование запятой или точки зависит от настроек операционной системы). Пример символьной константы – ООО «Темп».
Переменные – данные, значения которых меняются в ходе выполнения программы. Для переменной задается имя и тип.
Имя
переменной должно начинаться с буквы
и может содержать любую
Из констант, переменных и встроенных функций (они рассмотрены далее) с помощью скобок и знаков арифметических операций («+», «-», «*», «/», «^») можно составлять выражения. Частным случаем выражения может быть просто одиночный элемент, т.е. константа, переменная или обращение к встроенной функции. В VBA имеется большой набор встроенных функций, которые разделяют на категории. Примеры категорий:
- математические функции;
- функции преобразования форматов;
- логические функции;
- функции времени и даты;
- функции проверки типов.
Структура редактора VBA
Редактор VBA активизируется командой Сервис Макрос Редактор Visual Basic. После выполнения команд мы попадаем в редактор VBA. Возвратиться из редактора VBA в рабочую книгу можно нажатием кнопки Вид (View) Microsoft Excel. Рассмотрим основные компоненты окна редактора. Внешний вид окна редактора представлен на рисунке 1.
Рисунок
1 – Окно редактора Visual Basic в Excel
Окно редактора состоит из следующих компонентов:
- панели инструментов;
- окно проекта;
- окно свойств;
- окно редактирования кода;
- меню.
2.2 Условынй оператор If и оператор цикла For-Next
Условный оператор If
Оператор условного перехода, выполняющий роль ветвления программы на основании какого-либо условия. Простейшими операторами условного перехода являются операторы «If…Then», «If…Then…Else».
Оператор
«If…Then» (см. таблицу 1) позволяет выбирать
единственную ветвь процедуры, тогда как
«If…Then…Else» (см. таблицу 2) дает возможность
выбирать из двух и более альтернативных
ветвей кода процедуры на основе оценки
того, является ли условие равным «True»
или «False».
Таблица 1. Синтаксис «If…Then»
| Вариант 1: | If Условие Then
Операторы
Первый
вариант требует написания |
| Вариант 2: | If Условие Then
Операторы
End If Второй вариант позволяет указывать несколько операторов в разных строках. |
Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции «Условие», если это логическое выражение равно «True», то выполняется оператор (операторы) секции «Операторы»; затем VBA продолжает выполнение кода следующего за строкой «If…Then» (Вариант 1) или за ключевыми словами «End…If» (Вариант 2). Если же логическое выражение равно «False», то операторы секции «Операторы» пропускаются и выполняется код, следующий за этой секцией.
Таблица 2. Синтаксис «If…Then…Else»
| Вариант 1: | If Условие Then
Операторы 1 Else Операторы2
Вариант требует написания оператора в одну строку, при этом в секциях «Операторы 1» и «Операторы 2» можно указывать несколько операторов, разделяя их двоеточием. |
| Вариант 2: | If Условие Then
Операторы 1 Else Операторы 2
End If Вариант позволяет указывать несколько операторов в разных строках. |
Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции «Условие», если это логическое выражение равно «True» то выполняется оператор (операторы) секции «Операторы 1»; затем VBA продолжает выполнение кода следующего за строкой «If…Then» (Вариант 1) или за ключевыми словами «End If» (Вариант 2). Если же логическое выражение равно «False», то выполняются операторы секции «Операторы 2».
Оператор цикла For-Next
Инструкция «For…Next» (см. таблицу 3) повторяет выполнение группы инструкций указанное число раз.
For счетчик = начало To конец [Step шаг]
[инструкции]
[Exit For]
[инструкции]
Next
[счетчик]
Таблица 3. Синтаксис инструкции «For…Next»
| Элемент | Описание |
| Счетчик | Обязательный. Числовая переменная, используемая в качестве счетчика цикла. Эта переменная не может принадлежать к типу Boolean или быть элементом массива. |
| Начало | Обязательный. Начальное значение переменной счетчик. |
| Конец | Обязательный. Конечное значение переменной счетчик. |
| Шаг | Необязательный. Значение, на которое изменяется счетчик при каждом выполнении тела цикла. Если это значение не задано, по умолчанию шаг равен единице. |
| Инструкции | Необязательный. Одна или несколько инструкций между For и Next, которые выполняются указанное число раз. |
Пример цикла «For…Next»:
For counter = Star To End [Step StepSize]
Statements
Next [counter]
Counter – любая численная переменная VBA;
Start –
любое численное выражение,
End –
численное выражение,
Statements
– один, несколько или ни одного
оператора VBA (тело цикла).
Исходная
таблица
| Экспорт основных товаров из России в январе-сентябре 1992г. | |||||||
| Наименование товара |
Единица измерения |
Группа |
Количество |
Стоимость млн. долл |
Транс. Рас. (10%) млн. долл. |
Торг. Расх. (15%) млн. долл. |
Суммар. Стоим. млн. долл. |
| Нефть | Тыс. тонн | 35547.9 | 4553.0 | ||||
| Уголь | Тыс. тонн | 6197.2 | 262.0 | ||||
| Газ | Млрд. м | 64574.5 | 5334.9 | ||||
| Лес | Тыс. м | 4341.0 | 308.1 | ||||
| Руды | Тыс. тонн | 5375.1 | 126.4 | ||||
| Бумага | Тыс. тонн | 94.7 | 33.6 | ||||
- Разработка проекта
- Процедура макроса формирования заголовка таблицы
Sub Шапка()
'
' Шапка Макрос
' Макрос записан 09.12.2010 (student)
'
Range("A1:H3").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Selection.Borders(
Selection.Borders(
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(
Selection.Borders(
Columns("A:A").ColumnWidth = 17.71
Columns("B:B").ColumnWidth = 17
Columns("C:C").ColumnWidth = 17.86
Columns("D:D").ColumnWidth = 18
Columns("E:E").ColumnWidth = 17.71
Columns("F:F").ColumnWidth = 15.71
Columns("G:G").ColumnWidth = 11.86
Columns("H:H").ColumnWidth = 11.71
Range("A1:H3").Select
ActiveCell.FormulaR1C1 = _
"Курсовая работа по информатике.Тема: обьектно- ориентированное програмирование на VBA Выполнила: Чайко Яна Владимировна, студентка ЭЭ-093 "
With ActiveCell.Characters(Start:=
.Name = "Arial Cyr"
.FontStyle = "полужирный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A1:H3").Select
Columns("E:E").ColumnWidth = 11.86
Columns("F:F").ColumnWidth = 11.86
Columns("B:B").ColumnWidth = 11.43
Columns("A:A").ColumnWidth = 11
Range("A1:H3").Select
ActiveCell.FormulaR1C1 = _
"Курсовая работа по информатике.Тема: обьектно- ориентированное програмирование на VBA Выполнила: Чайко Яна Владимировна, студентка ЭЭ-093 "
With ActiveCell.Characters(Start:=
.Name = "Arial Cyr"
.FontStyle = "полужирный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A1:H3").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A1:H3").Select
ActiveCell.FormulaR1C1 = _
"Курсовая работа по
With ActiveCell.Characters(Start:=
.Name = "Arial Cyr"
.FontStyle = "полужирный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A1:H3").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A4").Select
Columns("A:A").ColumnWidth = 14
Range("A4:A6").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A4:A6").Select
ActiveCell.FormulaR1C1 = "Наименование товара"
With ActiveCell.Characters(Start:=
.Name = "Arial Cyr"
.FontStyle = "обычный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("B4:B6").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True

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