- •Содержание
- •1 Основные понятия и приемы работы
- •Системы счисления
- •Рекомендуемая литература:
- •Раздел «Электронные таблицы excel»
- •Основные понятия Excel
- •Выделение блока ячеек
- •Ввод текстов
- •Ввод чисел
- •Ввод стандартных списков
- •Ввод формул
- •Работа с Мастером функций
- •Копирование и перемещение информации
- •Простейшее форматирование ячеек
- •Стандартное форматирование чисел
- •Условное форматирование
- •Рекомендуемая литература:
- •Раздел субд «Access 2003»
- •1.3.1 Общие сведения о субд ms Access
- •1.3.2 Создание таблиц
- •1.3.3 Заполнение данными
- •1.3.4.Пример создания структуры базы данных
- •1.3.5 Создание запроса
- •1.3.6. Создание форм
- •1.2.7 Создание отчета
- •Рекомендуемая литература:
- •1.4.1 Графический язык (схемы алгоритмов)
- •1.4.2 Структуры алгоритмов
- •1.4.3 Основные понятия и возможности vba
- •Пример разветвляющего алгоритма:
- •Рекомендуемая литература:
- •2 Практические работы и методические рекомендации по их выполнению
- •2.1 Электронные таблицы ms Excel 2003
- •Практическая работа № 1. Оформление таблицы, условное форматирование, именная адресация
- •Оформление таблицы
- •Ввод формулы
- •Условное форматирование
- •Именованная адресация
- •Абсолютная адресация
- •Практическая работа № 2. Логические функции
- •Логическая функция если
- •Логическая функция и
- •И(логическое_значение1; логическое_значение2;...)
- •Логическая функция или
- •Или(логическое_значение1; логическое_значение2; ...)
- •Логическая функция счетесли
- •Математическая функция суммесли
- •Вложенная функция если
- •Практическая работа № 3.
- •Создание таблиц. Реализация связи файлов в бд.
- •Разработка многотабличных форм ввода информации в бд
- •Разработка многотабличных запросов
- •3 Общие требования к содержанию и оформлению контрольного задания
- •3.1 Определение вариантов заданий
- •3.2 Структура работы
- •3.2.1 Настройки параметров работы
- •Обозначение разделов, частей, параграфов, пунктов параграфов.
- •Рисунки.
- •Формулы.
- •Нумерация страниц.
- •Колонтитулы
- •3.2.2 Титульный лист
- •2.2.3 Создание содержания (оглавления)
- •3.2.4 Основная часть работы
- •3.2.5 Список литературы
- •3.2.6 Приложения
- •4 Задания на контрольную работу
- •4.1 Варианты заданий по теме «Системы счисления»
- •4.2 Варианты заданий по теме vba и «Электронные таблицы Excel»
- •Варианты заданий по теме «Работа с субд ms Access»
- •Задание по теме «РowerPoint»
- •5 Перечень вопросов для подготовки к экзамену
- •Системы счисления.
- •6 Список рекомендуемой литературы
- •Приложение 1. Образец титульного листа
- •Приложение 2. Пример формирования содержания
1.4.3 Основные понятия и возможности vba
Существует целый ряд систем программирования, позволяющих в той или иной степени реализовать концепцию объектно-ориентированного подхода при разработке программных средств. К ним относятся С++, Java, Visual Basic (VB).
В отличие от VB, VBA не является языком объектно-ориентированного программирования в строгом смысле этого слова, но в нем широко используются элементы объектно-ориентированного подхода и связанные с ним понятия.
Язык программирования Visual Basic for Application вначале стал применяться как средство, которое позволило Excel, а затем и другим приложениям Microsoft Office программно управлять их собственной средой. Оно взаимодействовало с другими приложениями, используя механизм автоматизации OLE.
Язык VBA — это подмножество VB, которое включает почти все его средства создания приложений, структуры данных и управляющие структуры, возможность создания пользовательских типов данных.
Visual Basic for Application, как и Visual Basic, является языком визуального и событийно управляемого программирования. Он реализует следующие возможности:
-
создание нестандартного окна диалога в виде формы с базовым набором элементов управления,
-
создание формы на рабочем листе, написание процедур, обрабатывающих события.
Язык VBA не обладает всеми возможностями VB, но позволяет работать с огромным набором объектов, определенных в приложении MS Office.
Являясь развитым языком программирования, VBA также включает в себя полноценную интегрированную среду разработки с полным набором специализированных окон, упрощающих проектирование, отладку и тестирование программ.
Интегрированная среда разработки VBA представлена приложением, называемым редактором Visual Basic.
Типы данных
Тип |
Размер |
Byte (байт) |
1 байт |
Boolean (булев) |
2 байта |
Integer (целое) |
2 байта |
Long (длинное целое) |
4 байта |
Single (с плавающей точкой одинарной точности) |
4 байта |
Double (с плавающей точкой двойной точности) |
8 байт |
Date (дата) |
8 байт |
String (строка фиксированной длины) |
От 0 до 65400 символов |
Переменные
Переменная должна быть объявлена прежде, чем ее можно использовать.
Объявление производится при помощи операторов Dim, Private, Static Public:
-
Dim или Static – данными инструкциями описаны локальные переменные. Данные переменные распознаются только в процедуре, в которой они описаны;
-
Dim или Private –данные переменные используются только в модулях, в которых они описаны, но не в других модулях данного проекта;
-
Public – переменные уровня модуля, описанные при помощи данной инструкции, являются доступными для всех процедур проекта и называются открытыми.
Арифметические операторы
Основные операторы и их приоритетность:
^ возведение в степень
*, / умножение и деление
\ деление без остатка
Mod остаток
+, - сложение и вычитание
& слияние строк
Логические операторы
And конъюнкция (логическое И)
Or дизъюнкция (логическое ИЛИ)
Not отрицание (логическое НЕТ)
Xor исключение (логическое исключающее ИЛИ)
Egv логическая эквивалентность
Imp логическая импликация
Операторы сравнения
= равно
> больше
< меньше
>= больше или равно
<= меньше или равно
<> не равно
Is сравнение двух операндов, содержащих ссылки на объекты
Like сравнение двух строковых выражение
Математические функции
Abs модуль (абсолютная величина) числа
Atn арктангенс
Cos косинус
Exp экспонента, т.е. результат возведения основания натурального логарифма в указанную степень
Log натуральный логарифм
Rnd возвращает очередное число из последовательности псевдослучайных чисел из интервала [0,1]
Rnd(number)
Если значение параметра number меньше 0, то Rnd возвращает каждый раз одно и тоже число.
Если значение параметра number больше 0 или этот параметр опущен, то Rnd возвращает следующее число в последовательности.
Если значение параметра number равно 0, то Rnd возвращает случайное число, возвращенное при предыдущем вызове этой функции.
Sgn знак числа
Sin синус
Sgr квадратный корень из числа
Tan тангенс
Логарифм по произвольному основанию а вычисляется по формуле:
Преобразование числа в строку
Функция Cstr возвращает значение типа Variant(String), являющееся строковым представлением числа.
Пользовательские форматы
Пользовательские форматы позволяют настроить вид отображаемых значений. При построении пользовательского формата используются специальные символы:
0 |
Резервирует позицию цифрового разряда. Отображает цифру или нуль. |
# |
Резервирует позицию цифрового разряда. Отображает цифру или ничего. |
. (точка) |
Резервирует позицию десятичного разделителя. Указание точки в строке формата определяет, сколько разрядов необходимо отображать слева и справа от десятичной точки. |
% |
Резервирует процентное отображение числа. |
, (запятая) |
Разделитель разряда сотен от тысяч |
: |
Разделитель часов, минут и секунд в категории форматов Time |
/ |
Разделитель дня, месяца и года в категории форматов Date |
Е+, Е- |
Разделитель мантиссы и порядка в экспоненциальном формате |
d, m, y |
Резервирует позицию при выводе дня, месяца и года в категории форматов Date |
h, m, s |
Резервирует позицию при выводе часа, минуты и секунды в категории форматов Time |
Примеры:
Формат |
Результат |
Format(1.2^2,”##.###”) |
1.44 |
Format(1.2^2,”##.000”) |
1.440 |
Format(sin(1)*Exp(5),”#.###e+##”) |
1.249e+2 |
Format(Now,”hh:mm:ss”) |
18:57:23 |
Format(Now,”dd/mm/yyyy”) |
20.01.2010 |
Встроенные диалоговые окна
Символы, которые нельзя ввести с клавиатуры
Зачастую случается, что надо ввести какой-либо символ, для которого отсутствует клавиша на клавиатуре (например, символ копирайта). Другая ситуация - когда надо в строку включить служебный символ VBA (самый распространенный случай - включение двойных кавычек).
Чтобы включить в строку символы, которые невозможно ввести с клавиатуры, или которые имеют особое значение для VBA, используется функция Chr:
Chr (Charcode)
Charcode - любое численное выражение, являющееся допустимым кодом для набора символов, используемого компьютером. Должен быть целым числом от 0 до 255.
Функция Chr принимает код отдельного символа в качестве аргумента и возвращает строку, содержащую соответствующий этому коду символ.
Поскольку символы, используемые для начала новой строки, являются очень важными при форматировании сообщений и других строковых данных, которыми манипулируют VBA-процедуры, имеется несколько предопределенных констант для этих символов, чтобы не было необходимости использовать функцию Chr:
vbCr символ возврата каретки. Эквивалент Chr(13)
vbLf символ смещения на одну строку. Эквивалент Chr(10)
vbCrLf символ возврата каретки+смещения на одну строку. Эквивалент Chr(13)+ Chr(10)
vbTab символ табуляции. Эквивалент Chr(9)
Окно ввода
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода и две кнопки OK и Cancel. Она устанавливает режим ожидания ввода текста пользователем и нажатия кнопки, а затем, при нажатии на кнопку:
OK - возвращает значение типа String, содержащее текст, введенный в поле ввода.
Cancel - возвращается пустая строка (Empty).
InputBox (Prompt [,Title] [,Default] [,Xpos] [,Ypos] [,Helpfile, Context])
где:
Prompt — строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое выражение Prompt может содержать несколько строк. Для разделения строк допускается использование:
-
символа возврата каретки (Chr(13)),
-
символа перевода строки (Chr(10))
-
комбинация этих символов (Chr(13) & Chr(10));
Title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения;
Default — строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот параметр опущен, то поле ввода изображается пустым;
Xpos — числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот параметр опущен, то диалоговое окно выравнивается по центру экрана по горизонтали;
Ypos — числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот параметр опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана;
Helpfile — строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот параметр указан, то необходимо указать также параметр context;
Context — числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо указать также параметр Helpfile.
Например:
a1 = Val(InputBox("Введите а1","Вычисление выражения"))
Окно сообщения1
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.
MsgBox(Prompt[, Buttons] [, Title] [, Helpfile, Context]),
где:
Prompt — строковое выражение, отображаемое как сообщение в диалоговом окне;
Buttons— числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и модальность окна сообщения. Значение по умолчанию этого параметра равняется 0. Значения констант, определяющих число, тип кнопок и тип используемого значка приведены в таблицах 7.1 - 7.3;
Title — строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заголовка помещается имя приложения;
Helpfile — строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот параметр указан, необходимо указать также параметр Context;
Context — числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо указать также параметр Helpfile.
Примеры использования процедуры MsgBox:
Тект программы |
Результат |
Комментарии |
MsgBox y |
Простое окно сообщения |
|
MsgBox “x=” & x & vbCr & “y=” & y |
Окно с сообщением, выводимым в две строчки |
|
MsgBox “y=” & y, vbInformation |
Окно с сообщением и информационным значком |
|
MsgBox “y=” & y, vbInformation+vbDefaultButtjn1 + vbYesNo |
Окно с сообщением, информационным значком и двумя кнопками |
|
MsgBox “y=” & y, vbInformation, “Нахождение квадрата” |
Окно с сообщением, информационным значком и пользовательским заголовком |
Пример написания программы:
Составить схему алгоритма и написать программу для вычисления следующих функций:
Решение:
-
Составим алгоритм решения задачи
Порядок расположения операторов обеспечивает последовательное вычисление величин, используемых в последующих операторах. Например, операторы 3 и 4 нельзя поменять местами, так как величина К должна быть вычислена раньше. Величины а и р должны быть предварительно введены как константы.
-
С использованием VBA Excel напишем программу:
Текст программы на VBA: |
Sub a() Dim a1 As Double, a2 As Double, p1 As Double, p2 As Double Dim z As Double, z1 As Double, v As Double a1 = Val(InputBox("Введите а1")) a2 = Val(InputBox("Введите а2")) p1 = Val(InputBox("Введите p1")) p2 = Val(InputBox("Введите p2")) s = -a2 / (a1 + a2) z1 = p1 + p2 z = (1 - z1) / z1 * s v = 1 - z ^ 3 MsgBox ("s= " & CStr(s) & vbCr & "z1= " & CStr(z1) & vbCr & "z= " & CStr(z) & vbCr & "v= " & CStr(v)) End Sub
|
|
|
Результат проверки в Excel: |
|
Условный переход.
Операторы условного перехода влияют на последовательность выполнения программы исходя из результатов проверки некоторых условии. В языке VBA имеются два условных оператора перехода:
-
оператор If...Then
-
оператор Select Case
Оператор If...Then - один из важнейших управляющих операторов. Он организует выполнение заданного блока операторов, если при вычислении указанного условного выражения будет получено значение True, и не делает ничего, если будет получено значение False.
Синтаксис этого условного оператора следующий:
If условие Then (операторы)
здесь условие - это условное выражение, которое VBA должен вычислить для проверки выполнения условия. Если вычисленное значение равно True, выполняется оператор (или блок операторов), следующий за ключевым словом Then до конца строки.
Если в операторе If...Then выполняется только один оператор, когда проверяемое условие отнимает значение True - однострочный оператор. Такая конструкция If...Then записывается в одной строке, и завершающий оператор End If для нее не требуется.
If intBospacn < 15 Then MsgBox "Ребенок"
В операторе If...Then может некоторый блок операторов. В этом случае проверяемое условие и выполняемые операторы записывается в отдельных строках. Если условное выражение имеет значение True, выполняемая группа операторов начинается с первого оператора, стоящего после ключевого слова Then, и включает все последующие операторы, вплоть до оператора завершения End If.
If условие Then
(операторы)
End If
Для более сложных ситуаций, когда на основании некоторого условия необходимо выбрать одну из двух различных последовательностей операторов, используется оператор If...Then...Else.
Конструкция If...Then...Else может быть однострочной и ее можно записать так:
If intУгол <= 90 Then MsgBox "Острый угол" Else MsgBox "Тупой угол"
Сначала проверяет заданное условие intУгол <= 90, и если результат будет равен True, выполняется оператор MsgBox "Острый угол".
Если величина угла окажется больше 90 градусов (значение False), то будет выполнен оператор MsgBox "Тупой угол"
Однострочный оператор If...Then...Else не всегда удобен при написании программы, поэтому лучше воспользоваться блочным оператором if …Then...Else, в котором условие и операторы записываются в отдельных строках.
В этом случае синтаксис оператора следующий:
If условие Then
(операторы1)
Else
(операторы2)
End If
Здесь условие - это проверяемое условное выражение. Если значение этого условного выражения равно True, то VBA выполняет операторы блока (операторы1), а затем, пропустив все остальные операторы структуры if...Then...Else, переходит к строке, следующей за оператором End If .
Если значение условного выражения равно False, выполняются операторы блока (операторы2), расположенные после ключевого слова Else вплоть до оператора End If.
После этого VBAпродолжит выполнение программы, начиная с первого оператора, следующего за оператором End If,
Sub Возраст()
If intBo3pacT <= 7 Then
СОДЕРЖАНИЕ 2
1 ОСНОВНЫЕ ПОНЯТИЯ И ПРИЕМЫ РАБОТЫ 4
1.1.Системы счисления 4
Рекомендуемая литература: 10
1.2.Раздел «Электронные таблицы EXCEL» 10
Основные понятия Excel 10
Выделение блока ячеек 11
Ввод текстов 11
Ввод чисел 12
Ввод стандартных списков 12
Ввод формул 12
Работа с Мастером функций 13
Копирование и перемещение информации 13
Простейшее форматирование ячеек 14
Стандартное форматирование чисел 15
Условное форматирование 15
Рекомендуемая литература: 16
1.3.Раздел СУБД «Access 2003» 16
1.3.1 Общие сведения о СУБД MS Access 16
1.3.2 Создание таблиц 17
1.3.3 Заполнение данными 19
1.3.4.Пример создания структуры базы данных 20
1.3.5 Создание запроса 21
1.3.6. Создание форм 24
1.2.7 Создание отчета 31
Рекомендуемая литература: 31
1.4.VBA 31
1.4.1 Графический язык (схемы алгоритмов) 31
1.4.2 Структуры алгоритмов 33
1.4.3 Основные понятия и возможности VBA 36
Рекомендуемая литература: 52
2 ПРАКТИЧЕСКИЕ РАБОТЫ И МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИХ ВЫПОЛНЕНИЮ 53
2.1 Электронные таблицы MS Excel 2003 53
ПРАКТИЧЕСКАЯ РАБОТА № 1. 53
ПРАКТИЧЕСКАЯ РАБОТА № 2. 60
ПРАКТИЧЕСКАЯ РАБОТА № 3. 67
3 ОБЩИЕ ТРЕБОВАНИЯ К СОДЕРЖАНИЮ И ОФОРМЛЕНИЮ КОНТРОЛЬНОГО ЗАДАНИЯ 72
3.1 Определение вариантов заданий 72
3.2 Структура работы 73
3.2.1 Настройки параметров работы 73
3.2.2 Титульный лист 75
2.2.3 Создание содержания (оглавления) 75
3.2.4 Основная часть работы 75
3.2.5 Список литературы 75
3.2.6 Приложения 76
4 ЗАДАНИЯ НА КОНТРОЛЬНУЮ РАБОТУ 77
4.1 Варианты заданий по теме «Системы счисления» 77
4.2 Варианты заданий по теме VBA и «Электронные таблицы Excel» 80
4.3.Варианты заданий по теме «Работа с СУБД MS Access» 84
4.4.Задание по теме «РowerPoint» 90
5 ПЕРЕЧЕНЬ ВОПРОСОВ ДЛЯ ПОДГОТОВКИ К ЭКЗАМЕНУ 91
6 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 93
ПРИЛОЖЕНИЕ 1. ОБРАЗЕЦ ТИТУЛЬНОГО ЛИСТА 95
ПРИЛОЖЕНИЕ 2. ПРИМЕР ФОРМИРОВАНИЯ СОДЕРЖАНИЯ 96
End Sub
Часто при написании программ возникают такие ситуации, когда приходится проверять не одно, а два, три или больше условий. В этом случае можно поместить один оператор If Then внутри другого оператора If...Then (или оператор if...Then...Else внутри оператора if...Then...Else, что называется вложением операторов.
Вложенные операторы следует использовать тогда, когда для принятия решения необходимо проверить дополнительное условие, но при этом первое условие должно оказаться истинным. Если же первое условие не выполнено, то будут выполняться операторы, следующие за ключевым словом Else.
Sub ВозрастН)
intBoзраст = InputBox("Укажите возраст")
If intBoзраст > 7 Then
If intBoзраст <= 17 Then
MsgBox "Школьник"
Else
MsgBox "Взрослый"
End If
Else
MsgBox "Дошкольник"
End If
End Sub
Эквивалентом вложенных операторов является оператор lf...Then...ElseIf. С помощью ключевого слова ElseIf в одном условном операторе можно проверить несколько условий.
Синтаксис этого условного оператора:
If условие1 Then
(операторы1)
ElseIf условие2 Then
(операторы2)
ElseIf условие3 Then
End If
При выполнении оператора If...Then...ElseIf первым проверяется значение условного выражения условие1, и если оно равно True, то выполняется блок операторов (операторы1), а затем все остальные операторы структуры пропускаются и выполняется первый из операторов, следующий за оператором End If.
Если значение условного выражения условие1 будет равно False, то проверяется значение условие2. Если значение условие2 будет равно True, то выполняется блок операторов (операторы2), а затем все остальные операторы структуры пропускаются и выполняется первый из операторов, следующий за оператором End If.
Если значение условие2 будет равно False, то проверяется значение условиеЗ — и т.д.
Если в конструкцию оператора lf...Then...Elself включен оператор Else и все условные выражения условие1, условие2,.... окажутся равны False, то будут выполнены операторы, расположенные после оператора Else, и только после этого — первый из операторов, расположенных после оператора End if. Ключевое слово Else является необязательным, но если оно все же присутствует; то должно быть записано в конструкции оператора последним.
Из приведенной выше процедуры видно, что ключевое слово Elself может повторяться в конструкции сколько угодно раз. При этом выполнение заданных условий проверяется строго последовательно, в том порядке, в котором они записаны. И как только истинное условие (True) будет найдено, выполняется соответствующий ему блок операторов, после чего выполнение данного условного оператора прекращается.
Результат работы программы:
При вводе получаем