Занятие № Основные понятия языка vba excel На занятии рассматриваются следующие вопросы: общее понятие о языке vba - shikardos.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Занятие № Основные понятия языка vba excel На занятии рассматриваются следующие вопросы - страница №1/1

Занятие № 1. Основные понятия языка VBA Excel

На занятии рассматриваются следующие вопросы:



  • общее понятие о языке VBA;

  • объекты VBA;

  • свойства, методы и события;

  • элементы языка VBA;

  • структура редактора VBA.

VBA относится к языкам объектно-ориентированного программирования, поэтому знакомство с ним естественно начать с понятия объекта.

Объекты

Объект - основной элемент VBA Excel. В VBA объектами являются рабочая книга, рабочий лист и его составляющие.

Примеры объектов:


  • Sheet - лист Excel;

  • Cell - ячейка;

  • Range - диапазон ячеек;

  • Application - приложение;

  • UserForm - пользовательская форма.

Доступ к объекту возможен через его методы и свойства.

Методы

Над объектами можно совершать различные действия. Действия, совершаемые над объектами, называются методами. Например, ячейку можно очистить (Clear), приложение закрыть (Quit), пользовательскую форму показать (Show) или скрыть (Hide).

Название метода отделяется от названия объекта точкой: объект.метод.

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

Range("B2:E2").Select - выбрать диапазон ячеек B2:E2;

Range("C1:C5").Clear - очистить диапазон ячеек C1:C5;

UserForm2.Hide - скрыть форму № 2;

UserForm5.Show - показать форму № 5;

Application.Quit - выйти из приложения.

Свойства

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

Синтаксис установки значения свойства:

Объект.Свойство = ЗначениеСвойства,

- где Объект обозначает имя объекта, Свойство - имя свойства, которому присваивается значение.

Имя объекта отделяется от имени свойства точкой.

Примеры свойств:

Range("D1").Value = 2005 - поместить в ячейку D1 значение 2005.

Range("C1:C10").Text = "Информатика" - поместить в диапазон ячеек C1:C10 текст Информатика.

Range("B2").Font.Size = 14 - в ячейке B2 установить размер шрифта 14.



Методы и свойства некоторых объектов VBA

Объект: Application (приложение).

Метод: Quit (закрыть).

Свойство: Caption (имя главного окна).

Примеры. Application.Quit - закрыть приложение; Application.Caption = "Протокол" - установить в качестве заголовка окна приложения “Протокол”.

Объект: Sheet (лист), ActiveSheet (активный/выбранный лист).

Семейство: Sheets (листы).

Методы: Select (выбрать); ShowDataForm (показать встроенную форму).

Примеры: Sheets("Меню").Select - выбрать лист “Меню”; ActiveSheet.ShowDataForm - на активном в настоящий момент листе показать встроенную форму.

Объект: Range (диапазон).

Методы: Select (выделить); Clear (очистить).

Свойство: Name (имя).

Примеры. Sheets("Протокол").Range("В4:В10").Name = "Класс" - диапазону В4:В10, расположенному на листе “Протокол”, присвоить имя “Класс”; Sheets("Протокол").Range("В4:В10").Select - выделить диапазон В4:В10 на листе “Протокол”.

Объект, Семейство: UserForm (пользовательская форма).

Методы: Show (показать); Hide (скрыть).

Свойство: Caption (текст, отображаемый в строке заголовка).

Примеры. UserForm1.Show - показать пользовательскую форму номер один;

UserForm1.Hide - скрыть пользовательскую форму номер один;

UserForm1.Caption - "Информатика"- вывести заданный в кавычках текст в строке заголовка.

Объект, Семейство: TextBox (Поле ввода).

Свойство: Text (содержимое).

Примеры. UserForm1.TextBox1.Text = Date - в поле ввода номер один в пользовательской форме номер один записать текущую дату; UserForm1.TextBox2.Text = " " - очистить поле ввода номер два в пользовательской форме номер один.

Объект, Семейство: ComboBox (поле со списком).

Метод: AddItem (добавить элемент в список).

Свойства: Text (содержимое); Rowsource (источник строк для списка).

Примеры. UserForm1.ComboBox2.Text = " " - очистить значение поля для поля ввода со списком номер два в пользовательской форме номер один; UserForm2.ComboBox1.Rowsource="В2:В10" - источником строк для поля один со списком в пользовательской форме два установить данные из диапазона В2:В10;

UserForm1.ComboBox1.AddItem ("Факс") - добавить к списку элемент, заключенный в кавычки.

Объект, Семейство: OptionButton.

Свойства: Value (значение); Сaption (надпись).

Примеры. UserForm3.OptionButton1.Value = True - выбрать переключатель номер один в пользовательской форме номер три; UserForm3.OptionButton1.Capture = "Успеваемость" - установить надпись “Успеваемость” рядом с переключателем в пользовательской форме номер три.

Объект, Семейство: CheckBox.

Свойства: Value (значение); Сaption (надпись).

Примеры. UserForm2.CheckBox1.Value = True - установить флажок номер один в пользовательской форме номер два; UserForm3.CheckBox1.Value = False - сбросить флажок номер один в пользовательской форме номер три; UserForm4.CheckBox1.Capture="Класс" - установить надпись “Класс” рядом с флажком в пользовательской форме номер четыре.

События

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

В языке VBA для каждого объекта определен набор стандартных событий.

Стандартное событие для объекта “кнопка” (CommandButton) - щелчок мышью (Click).

Если пользователь нажимает на кнопку, то это событие. На это событие должен быть отклик, т.е. выполнение какой-либо программы. Такая программа называется процедурой обработки событий и имеет стандартное имя. Если такой отклик не создан (не написана соответствующая программа), то система никак не будет реагировать на это событие.

Элементы языка VBA

Объекты - основные элементы языка VBA, но не единственные. К другим элементам относятся: константы, переменные, массивы, выражения, встроенные функции, встроенные диалоговые окна, операторы.



Константы - данные, не изменяющиеся в процессе решения задачи. Константы бывают двух видов: числовые и символьные.

Числовые константы - это целые либо вещественные числа.

Символьные константы - текст, заключенный в кавычки. Пример числовой константы - 5,8 (использование запятой или точки зависит от настроек операционной системы). Пример символьной константы - ООО “Темп”.

Переменные - данные, значения которых меняются в ходе выполнения программы. Для переменной задается имя и тип.

Имя переменной должно начинаться с буквы и может содержать любую комбинацию букв, цифр и символов за исключением точек, пробелов и следующих символов: “!”, “%”, “&”, “$”, “#”, “@”. Длина имени не должна превышать 255 символов. Не следует использовать имена, совпадающие с ключевыми словами VBA и именами встроенных функций и процедур.

Основные типы переменных, их размеры и диапазоны принимаемых значений приведены в табл. 1.

табл.1.

Переменные типа Variant могут хранить все, что в них поместят. Их тип изменяется в зависимости от последнего присвоения. В программах переменные описываются с помощью специального оператора Dim.



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

Из констант, переменных и встроенных функций (они рассмотрены далее) с помощью скобок и знаков арифметических операций (“+”, “-”, “*”, “/”, “^”) можно составлять выражения. Частным случаем выражения может быть просто одиночный элемент, т.е. константа, переменная или обращение к встроенной функции.

Примеры выражений:


  • Z

  • (a+b)^2

  • 45

  • sin(y)

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

  • математические функции;

  • функции преобразования форматов;

  • логические функции;

  • функции времени и даты.

  • функции проверки типов;

Некоторые из функций приведены в табл. 2:

таблица 2

Кроме перечисленных функций, объект Applications позволяет вызвать более 400 встроенных функций рабочего листа при помощи конструкции вида:

Application.Функция Рабочего Листа(Аргументы).

Примеры:


  • Application.Sum(Sheets("Проверка").Range("A1:B20")) - суммируются значения из ячеек диапазона A1:B20, расположенного на листе “Проверка”;

  • Application.CountA(Sheets("Ученики").Range("A:A")) - подсчитывается количество непустых ячеек в столбце А на листе “Ученики”.

Структура редактора VBA

Редактор VBA активизируется командой Разработчик ® Редактор Visual Basic. После выполнения команд мы попадаем в редактор VBA. Возвратиться из редактора VBA в рабочую книгу можно нажатием кнопки Вид(View) ® Microsoft Excel http://inf.1september.ru/2006/01/03-2.jpg. Рассмотрим основные компоненты окна редактора. Внешний вид окна редактора представлен на рисунке. Окно редактора состоит из следующих компонентов:



  • панели инструментов;

  • окно проекта;

  • окно свойств;

  • окно редактирования кода;

  • меню.

http://inf.1september.ru/2006/01/03-3.gif

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

Стандартная панель инструментов редактора Visual Basic содержит кнопки, предназначенные для выполнения наиболее часто используемых команд.

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

http://inf.1september.ru/2006/01/03-4.gif

Кнопки первого сегмента:

http://inf.1september.ru/2006/01/03-5.gifКнопки для возврата в Excel, вставки элементов (модулей, процедур, экранных форм) в проект и сохранение рабочей книги.

Кнопки второго сегмента:

http://inf.1september.ru/2006/01/03-6.gifКнопки для вырезания, копирования, вставки и поиска фрагментов кода.

Кнопки третьего сегмента:

http://inf.1september.ru/2006/01/03-7.gifКнопки отмены действий и повторения отмененных действий.

Кнопки четвертого сегмента:

http://inf.1september.ru/2006/01/03-8.gifКнопки для выполнения, остановки и прекращения выполнения процедуры, а также смены режима отображения экранной формы.

Кнопки пятого сегмента:

http://inf.1september.ru/2006/01/03-9.gifКнопки, управляющие отображением окон проектов, свойств и просмотра объектов, а также панели инструментов.

Последняя кнопка - это обычная кнопка вызова справочной системы.

Окно проекта

Окно проекта активизируется выбором команды Вид ® Окно проекта (View, Project window) или нажатием кнопки Окно проекта http://inf.1september.ru/2006/01/03-10.gif. В окне проекта представлена иерархическая структура файлов, форм и модулей текущего проекта.



Окно свойств

В окне свойств перечисляются основные значения свойств выбранного объекта. Используя это окно, можно просматривать свойства и изменить их значения. Для просмотра свойств выбранного объекта надо выполнить команду Вид ® Окно свойств (Properties Windows) или нажатием кнопки http://inf.1september.ru/2006/01/03-11.gif.

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

http://inf.1september.ru/2006/01/03-12.gif

Окно для просмотра объектов (Object Browser)

Окно Просмотр объектов (Object Browser) вызывается командой Вид ® Просмотр объектов (View, Object Browser) или нажатием кнопки http://inf.1september.ru/2006/01/03-13.gif. В этом окне можно просматривать все объекты проекта. Здесь вы найдете все свойства, методы и события, связанные с любым объектом.

Окно Просмотр объектов состоит из трех основных частей:

1. Раскрывающегося списка Проект/Библиотека в верхнем левом углу экрана. Например, библиотеки объектов Excel, VBA, Office и VBAProject (объекты пользовательского проекта).

2. Списка Классы. Выводятся все классы выбранной библиотеки.

3. Списка Компоненты (Members). Выводятся все компоненты выбранного класса.

Это окно предоставляет доступ ко всем объектам, свойствам, методам и событиям.

http://inf.1september.ru/2006/01/03-14.gif

Проверочная работа № 1-1

Выберите правильный ответ (возможно несколько правильных ответов):

1. Объектом VBA являются:


  1. рабочая книга;

  2. рабочий лист;

  3. диапазон ячеек;

  4. массивы.

2. Щелчок мышью или нажатие клавиши, перемещение мыши или выход из программы, это действие называется:

  1. откликом;

  2. просмотром;

  3. свойством;

  4. событием.

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

  1. d = b2 - 4 ac

  2. d = b^2 - 4ac

  3. d = b^2 - 4*a*c

  4. d = b^2 - 4*ac

4. Продолжите определение:

Метод - это…



  1. основной элемент языка VBA;

  2. структура редактора VBA;

  3. характеристика объекта;

  4. действия, совершаемые над объектами.

5. Чтобы стандартно изменить характеристику объекта, надо:

  1. написать новую программу;

  2. применить другое свойство;

  3. применить метод;

  4. изменить значение свойства.

6. Запишите конструкции, которые применяются для установки свойств объектов и доступа к их методам:

1. Запишите в ячейку В9 дату своего рождения, в ячейку В10 - свое имя.

2. Установите размер шрифта 16 в ячейках С4:F4, цвет - красный.

3. Покажите форму № 3.

4. Скройте форму № 2.

5. Выберите диапазон ячеек В2:D7.



Проверочная работа № 1-2

Выберите правильный ответ:



1. Очистить диапазон ячеек от А1 до С10:

  1. Range("А1;C10").Clear

  2. Range("А1:C10").Clear

  3. Range("А1-C10").Clear

  4. Clear. Range("А1:C10")

2. Скрыть форму № 6:

  1. UserForm6.Show

  2. UserForm №6.Сlose

  3. UserForm6.Hide

  4. UserForm №6.Show

3. Выйти из приложения:

  1. Application.Hide

  2. Application.Сlose

  3. Application.Select

  4. Application.Quit

4. Выделить диапазон ячеек от D6 до E8 на листе “География”:

  1. Sheets("География").Range("D6-E8").Show

  2. Sheets "География".Range("D6:E8").Select

  3. Sheets "География".Range("D6-E8").Select

  4. Sheets("География").Range("D6:E8").Select

5. Присвоить диапазону ячеек от А4 до А16, расположенных на листе “11 класс”, имя “Информатика”:

  1. Sheets("11класс").Range("А4:А16").Name = "Информатика"

  2. Sheets("11класс").Range("А4-А16").Name = "Информатика"

  3. Sheets("Информатика").Range("А4-А16").Name = "11класс"

  4. Sheets("Информатика").Range("А4:А16").Name = "11класс"

6. Установить источником строк для поля со списком два в пользовательской форме три данные из диапазона от А12 до А15:

  1. UserForm3.ComboBox2.Rowsource = "А12-А15"

  2. UserForm2.ComboBox3.Rowsource = "А12:А15"

  3. UserForm3.ComboBox2.Rowsource = "А12:А15"

  4. UserForm2.ComboBox2.Rowsource = "А12:А15"

7. Очистить значение поля для поля ввода со списком номер три в пользовательской форме номер два:

  1. UserForm3.ComboBox2.Text = "Очистить"

  2. UserForm2.ComboBox3.Text = " "

  3. UserForm3.ComboBox2.Capture = "0 "

  4. UserForm2.ComboBox3.Text = "-"

8. Установить флажок номер пять в пользовательской форме номер два:

  1. UserForm5.CheckBox2.Value = True

  2. UserForm2.CheckBox2.Text = False

  3. UserForm2.ComboBox5. Capture = " True "

  4. UserForm2.CheckBox5. Value = True

9. Сбросить флажок номер пять в пользовательской форме номер два:

  1. UserForm5.CheckBox2. Value = True

  2. UserForm2. CheckBox5. Value = False

  3. UserForm2.ComboBox5. Capture = " True "

  4. UserForm2.CheckBox5. Text = False

10. Выбрать переключатель номер два в пользовательской форме номер три:

  1. UserForm3.OptionButton2.Value = False

  2. UserForm2. CheckBox3. Value = False

  3. UserForm2.ComboBox5. Capture = True

  4. UserForm3.OptionButton2.Value = True