Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.12.2019
Просмотров: 3193
Скачиваний: 1
2.11.7.
Дописать
в
программу
строки
для
вычисления
и
вывода
на
экран
монитора
суммы
элементов
двух
главных
диагоналей
матрицы
B(i,j)
.
2.11.8.
Добавить
в
программу
строки
для
вычисления
и
вывода
на
экран
монитора
среднего
квадратического
значения
элементов
матрицы
B(i,j)
по
строкам
.
3.
ОБЪЕКТНО
–
ОРИЕНТИРОВАННЫЙ
МЕТОД
ПРОГРАМ
-
МИРОВАНИЯ
Visual Basic for Application
(VBA
) –
это
объектно
-
ориентированный
язык
программирования
высокого
уровня
,
являющийся
одним
из
диалек
-
тов
очень
популярного
языка
программирования
Visual Basic.
Его
досто
-
инством
является
возможность
совместного
использования
с
другими
при
-
ложениями
(Microsoft Word, Excel, Access, Project)
и
языками
программи
-
рования
,
что
позволяет
создавать
полностью
автоматизированные
системы
за
время
меньшее
,
чем
при
помощи
традиционных
языков
программирова
-
ния
.
При
этом
VBA
сохранил
традиционную
для
Basic
простоту
в
исполь
-
зовании
.
1.1.
Объект
В
языке
VBA
применен
объектно
-
ориентированный
метод
програм
-
мирования
.
Объекты
VBA –
это
удобный
способ
хранения
данных
и
кода
в
программе
.
Вместо
написания
текста
программы
,
манипулирующей
дан
-
ными
(
переменными
),
находящимися
где
-
то
,
эти
данные
и
программный
код
,
обслуживающий
их
,
заключаются
в
единый
объект
.
В
результате
для
того
,
чтобы
,
например
,
отобразить
эти
данные
необходимо
иметь
только
доступ
к
объекту
,
послать
ему
соответствующее
сообщение
,
а
объект
сам
сделает
всю
необходимую
работу
.
При
внедрении
объекта
в
приложение
он
сам
заботится
о
себе
;
ему
нужно
указать
только
место
отображения
на
экране
.
Помещая
,
например
,
на
рабочий
лист
Excel
кнопку
Visual Basic,
нет
необходимости
сообщать
рабочему
листу
,
как
эта
кнопка
должна
работать
.
При
нажатии
на
кнопку
ее
встроенный
программный
код
сама
позаботится
обо
всем
.
Таким
образом
,
объект
объединяет
в
одно
целое
(
инкапсулирует
)
свойства
объектов
и
возможные
над
ним
операции
(
методы
).
Объекты
,
инкапсулирующие
одинаковый
перечень
свойств
и
мето
-
дов
,
объединяются
в
классы
.
При
этом
каждый
отдельный
объект
является
экземпляром
класса
,
а
экземпляры
класса
могут
иметь
отличные
значения
свойств
.
Объекты
VBA –
это
кнопки
,
элементы
меню
,
документы
,
фрагменты
документа
,
символы
,
интервалы
ячеек
рабочего
листа
и
даже
сам
рабочий
лист
.
Почти
все
то
,
что
можно
увидеть
на
экране
работающего
приложе
-
ния
,
является
объектом
.
В
таблице
3.1.
приведены
примеры
классов
объек
-
тов
в
приложениях
Microsoft Office Word
и
Excel.
Таблица
3.1
Прило
-
жение
Класс
объектов
Свойства
Методы
Word
Documents
(
документ
)
Name
(
имя
)
FileName
(
местополо
-
жение
)
Add
(
создает
новый
объ
-
ект
в
семействе
)
и
др
.
Open
(
открытие
)
Close
(
закрыть
)
Save
(
сохранение
)
и
др
.
Excel Workbooks
(
книга
)
ActiveSheet
(
актив
-
ный
лист
книги
)
Name
(
имя
)
Path
(
полное
имя
пап
-
ки
,
где
находится
книга
)
Add
(
создает
новый
объ
-
ект
в
семействе
)
и
др
.
Open
(
открытие
)
Close
(
закрыть
)
Save
(
сохранение
)
и
др
.
Объекты
Document
объединяются
в
класс
объектов
Documents
().
Один
из
документов
класса
Documents
с
именем
Проба
.doc
–
Documents (”
Проба
.doc”)
.
Объекты
в
приложениях
образуют
некоторую
иерархию
,
на
вершине
которой
находится
приложение
(
Applicacion
).
Иерархия
объектов
в
приложениях
Microsoft Office Word
и
Excel
приведена
в
таблице
3.2.
Таблица
3.2.
Word Excel
активное
приложение
(
Applicacion
)
активное
приложение
(
Applicacion
)
документ
(
Documents
)
книга
(
Workbook
)
фрагмент
документа
(
Selection
)
лист
(
Worksheet
)
символ
(
Character
)
диапазон
ячеек
(
Range
)
Чтобы
получить
доступ
к
объекту
в
языке
VBA,
необходимо
соста
-
вить
ссылку
на
него
,
начав
с
самого
общего
наружного
объекта
,
за
которым
должна
следовать
точка
и
следующий
вложенный
в
него
объект
,
и
так
да
-
лее
до
тех
пор
,
пока
не
будет
достигнут
нужный
объект
.
Например
,
чтобы
в
программе
Word
ссылка
на
документ
ЛР
1.doc
выглядит
следующим
об
-
разом
:
Application.Documents
(”
ЛР
1.doc”)
.
Однако
делать
каждый
раз
ссылку
на
текущий
объект
необязательно
,
если
этот
объект
активный
.
Например
,
если
приложение
Word
активно
,
достаточно
сделать
относительную
ссылку
на
сам
документ
:
Documents (”
ЛР
1.doc”)
.
Таким
образом
,
почти
всегда
можно
не
включать
в
описание
объек
-
тов
ссылку
на
приложение
и
на
рабочую
книгу
или
документ
.
Однако
при
этом
необходимо
точно
знать
,
какой
объект
активен
в
момент
появления
оператора
с
пропущенной
спецификацией
объекта
.
Пропуск
спецификации
объекта
делает
процедуры
более
простыми
для
восприятия
,
кроме
того
,
это
позволяет
применить
этот
же
программный
код
к
другому
рабочему
листу
или
документу
,
не
меняя
имя
рабочего
листа
или
документа
в
ссылках
.
В
дополнение
к
именованным
листам
или
рабочим
книгам
можно
использовать
такие
объекты
,
как
:
ActiveWorkbook
(
активная
рабочая
книга
),
ActiveDocument
(
активный
документ
),
ActiveWindow
(
актив
-
ное
окно
)
для
того
,
чтобы
иметь
возможность
ссылаться
на
активные
объ
-
екты
,
не
указывая
их
имен
.
1.2.
Методы
объекта
Для
того
чтобы
объект
выполнил
какую
-
либо
операцию
необходимо
задать
метод
.
Многие
методы
имеют
аргументы
,
задающие
параметры
выполняемых
действий
.
Синтаксис
команды
применения
метода
объекта
:
Объект
.
Метод
арг
1:=
значение
,
арг
2:=
значение
Например
,
операция
открытия
в
приложении
Word
документа
Про
-
ба
.doc
,
находящегося
на
диске
H
:
в
папке
ФИО
содержит
не
только
назва
-
ние
метода
,
но
и
указание
пути
к
открываемому
файлу
Documents().Open FileName:=(“H:\
ФИО
\
Проба
.doc”)
Для
открытия
нового
документа
в
Word
используется
следующий
программный
код
Documents.Add DocumentType:=wdNewBlankDocument
Для
вывода
на
печать
двух
первых
страниц
документа
Проба
.doc
необходимо
задать
для
метода
PrintOut
значения
аргументов
Range
(
задает
формат
диапазона
печати
),
From
и
To
(
задают
номер
начальной
и
конечной
страниц
печати
):
Documents(“
Проба
.doc").PrintOut _
Range:=wdPrintFromTo,From:=”1”, To:=”2”
Обратите
внимание
,
что
в
последнем
выражении
строка
кода
не
по
-
местилась
в
одной
экранной
строке
,
поэтому
она
перенесена
на
следую
-
щую
экранную
строку
с
помощью
символа
подчеркивания
(_)
с
предшест
-
вующим
символом
пробела
.
Сохранение
документа
Проба
.doc
на
диске
реализует
метод
Save
:
Documents(“
Проба
.doc").Save
1.3.
Свойства
объекта
Для
изменения
состояния
объекта
необходимо
задать
новые
значе
-
ния
его
свойств
.
Синтаксис
команды
изменения
свойств
:
Объект
.
Свойство
=
ЗначениеСвойства
Для
установки
во
фрагменте
текста
(
объект
Selection
)
для
вось
-
мого
символа
(
объект
Characters(8)
)
начертание
полужирный
(
свойст
-
во
Bold
),
которое
имеет
два
значения
True
или
False
(
установлено
или
не
установлено
),
введем
следующий
код
:
Selection.Characters(8).Italic = True
Объект
может
иметь
множество
свойств
.
С
помощью
инструкции
With
можно
задавать
значения
сразу
нескольким
свойствам
объекта
:
With
Объект
.
Свойство
1=
ЗначениеСвойства
1
.
Свойство
2=
ЗначениеСвойства
2
…
End With
Заметьте
,
что
строки
,
находящиеся
между
With
и
End With
немно
-
го
сдвинуты
влево
.
И
хотя
для
самого
VBA
это
не
важно
,
однако
это
уп
-
рощает
чтение
программы
.
Поэтому
,
чем
больше
становится
программа
,
тем
чаще
необходимо
включать
в
нее
комментарии
и
отступы
.
Чтобы
уве
-
личить
отступы
в
одной
или
нескольких
строках
кода
,
отметьте
эти
строки
и
нажмите
клавишу
Tab
,
а
для
уменьшения
отступов
–
сочетание
клавиш
Shift
+
Tab
.
4.
ИНТЕГРИРОВАННАЯ
СРЕДА
ПРОЕКТИРОВАНИЯ
VBA
(IDE VBA)
Редактор
Visual Basic
в
интерпретации
Microsoft
называется
Интег
-
рированной
Средой
Проектирования
(IDE).
В
IDE
собраны
все
средства
и
инструменты
,
необходимые
программисту
для
разработки
и
создания
при
-
ложений
(
написание
и
редактирование
программ
;
проектирование
диало
-
говых
окон
и
других
элементов
приложений
,
облегчающих
взаимодейст
-
вие
с
пользователем
;
запуск
программ
;
тестирование
и
отладка
программ
;
отслеживание
работы
всех
элементов
каждой
конкретной
программы
;
кон
-
троль
за
взаимодействием
различных
VBA-
программ
).
Самый
простой
способ
научиться
работать
с
Visual Basic –
записать
свой
макрос
,
в
результате
чего
автоматически
генерируется
программный
код
на
языке
VBA,
а
затем
,
запустив
отладку
программы
,
проанализиро
-
вать
все
команды
,
входящие
в
состав
макроса
.
Для
записи
макроса
,
который
,
например
,
переформатирует
выделен
-
ный
фрагмент
текста
в
среде
WORD
в
полужирное
начертание
красного
цвета
,
необходимо
выбрать
в
меню
Сервис
→
Макрос
→
Начать
запись
.
В
появившемся
окне
Запись
макроса
задать
содержательное
имя
макроса
,
например
Полужирный
_
красный
,
и
нажать
клавишу
ОК
.
При
этом
от
-
кроется
соответствующая
панель
записи
макроса
и
изменится
изображение
курсора
.
С
этого
момента
все
выполняемые
действия
будут
автоматически
сохраняться
в
макросе
.
В
данном
случае
необходимо
щелкнуть
на
кнопках
Цвет
шрифта
(
Красный
)
и
Полужирный
.
Для
завершения
записи
макроса
необходимо
щелкнуть
на
клавише
Остановить
запись
.
Затем
выбрать
созданный
макрос
в
окне
Макросы
(
Сервис
→
Макрос
→
Макросы
)
и
нажать
кнопку
Отладка
.
В
результате
откроется
окно
редактора
Visual Basic (
рис
. 4.1),
в
котором
уже
находится
листинг
записанного
макроса
.
Другой
способ
запустить
Visual Basic –
на
-
жать
комбинацию
клавиш
(
Alt+F11
)
или
выбрать
в
меню
Сер
-
вис
→
Макрос
→
Редактор
Visual Basic
.
Самое
большое
окно
в
Visual Basic –
окно
редактирования
кода
(1),
которое
служит
в
качестве
редактора
для
ввода
кода
процедур
приложе
-
ния
.
Код
внутри
модуля
организован
в
отдельные
разделы
для
каждого
объекта
,
программируемого
в
модуле
.
С
помощью
кнопок
,
расположенных
слева
от
горизонтальной
прокрутки
,
можно
переключать
два
режима
пере
-
ключения
кода
:
просмотр
отдельной
процедуры
и
просмотр
всего
модуля
.
Над
окном
редактирования
кода
располагается
стандартная
панель
инструментов
(2),
которую
можно
отобразить
на
экране
выбором
команды
View
→
Toolbars
→
Standard
.