Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.12.2019

Просмотров: 3193

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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, 

нет

 

необходимости

 

сообщать

 

рабочему

 

листу

как

 

эта

 

кнопка

 

должна

 

работать

При

 

нажатии

 

на

 

кнопку

 

ее

 

встроенный

 

программный

 

код

 

сама

 

позаботится

 

обо

 

всем

Таким

 

образом

объект

 

объединяет

 

в

 

одно

 

целое

  (

инкапсулирует

свойства

 

объектов

 

и

 

возможные

 

над

 

ним

 

операции

 (

методы

).  

Объекты

инкапсулирующие

 

одинаковый

 

перечень

 

свойств

 

и

 

мето

-

дов

объединяются

 

в

 

классы

При

 

этом

 

каждый

 

отдельный

 

объект

 

является

 

экземпляром

 

класса

а

 

экземпляры

 

класса

 

могут

 

иметь

 

отличные

 

значения

 

свойств

.  


background image

Объекты

 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


background image

Чтобы

 

получить

 

доступ

 

к

 

объекту

 

в

 

языке

 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

 


background image

(

задает

 

формат

 

диапазона

 

печати

), 

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=

ЗначениеСвойства

 

.

Свойство

2=

ЗначениеСвойства

 

 

… 

End With  

Заметьте

что

 

строки

находящиеся

 

между

 

With

 

и

 

End With

 

немно

-

го

 

сдвинуты

 

влево

И

 

хотя

 

для

 

самого

 VBA 

это

 

не

 

важно

однако

 

это

 

уп

-

рощает

 

чтение

 

программы

Поэтому

чем

 

больше

 

становится

 

программа

тем

 

чаще

 

необходимо

 

включать

 

в

 

нее

 

комментарии

 

и

 

отступы

Чтобы

 

уве

-

личить

 

отступы

 

в

 

одной

 

или

 

нескольких

 

строках

 

кода

отметьте

 

эти

 

строки

 

и

 

нажмите

 

клавишу

 

Tab

а

 

для

 

уменьшения

 

отступов

 – 

сочетание

 

клавиш

 

Shift

+

Tab


background image

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