Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

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

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

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

Добавлен: 02.12.2019

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

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

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

TextBox2.Value = ListBox1.List(1) 

ElseIf v = 2 Then 

TextBox1.Value = ListBox1.List(2) 
TextBox2.Value = ListBox1.List(3) 

Else 

TextBox1.Value = ListBox1.List(4) 
TextBox2.Value = ListBox1.List(5) 

End If 

End Sub 

7)

 

Добавить

 

в

 

программный

 

модуль

 

процедуру

 

Private Sub 

CommandButton1_Click()

 

для

 

обработки

 

события

 

по

 

нажатию

 

кнопки

 

«

Среднее

».  

'

Процедура

 

вычисления

 

среднего

 

Private Sub CommandButton1_Click() 

With ListBox1 

Среднее

 = 0: j = 0 

For i=0 To .ListCount-1 

If .Selected(i) = True Then 

Среднее

=

Среднее

+.List(i) 

j=j+1 

End If 

Next i 

Среднее

=

Среднее

/j 

TextBox4.Text=CStr(

Среднее

End With 

End Sub 

Для

 

того

 

чтобы

 

иметь

 

возможность

 

выбирать

 

несколько

 

значений

 

из

 

списка

 

ListBox

необходимо

 

задать

 

для

 

свойства

 

MultiSelect

 

этого

 

элемента

 

требуемое

 

значение

Однако

 

это

 

свойство

 

не

 

может

 

задаваться

 

программно

а

 

устанавливается

 

лишь

 

в

 

окне

 

Properties

 

и

 

имеет

 

три

 

допус

-

тимые

 

значения

– 0 (

выбор

 

только

 

одного

 

элемента

); 

– 1 (

разрешен

 

выбор

 

нескольких

 

элементов

 

либо

 

щелчком

либо

 

кла

-

вишей

 

Пробел

); 


background image

– 2 (

разрешено

 

использование

 

клавиши

 

Shift

 

для

 

выбора

 

ряда

 

после

-

довательных

 

элементов

). 

Свойство

 

Select

 

предоставляет

 

возможность

 

проверить

выбран

 

ли

 

элемент

 

с

 

указанным

 

индексом

8)

 

В

 VBA 

также

 

имеется

 

встроенное

 

окно

 

ввода

 

InputBox

ко

-

торое

 

позволяет

 

ввести

 

данные

 

в

 

программу

 

через

 

текстовое

 

поле

 

на

 

диа

-

логовой

 

панели

Соответствующая

 

функция

 

имеет

 

следующий

 

синтаксис

InputBox ( 

Приглашение

$, 

Заголовок

$, [

ПоУмолчанию

$] ) 

В

 

процессе

 

выполнения

 

этой

 

функции

 

появляется

 

диалоговая

 

панель

 

с

 

текстовым

 

полем

В

 

строке

 

заголовка

 

панели

 

будет

 

печататься

 

значение

 

второго

 

аргумента

 

Заголовок

$

на

 

самой

 

панели

 

печатается

 

значение

 

ар

-

гумента

 

Приглашение

$

а

 

в

 

текстовом

 

поле

 

печатается

 

значение

 

аргумен

-

та

 

ПоУмолчанию

$

 (

если

 

это

 

значение

 

отсутствует

то

 

содержимое

 

тексто

-

вого

 

окна

 

также

 

отсутствует

). 

Введенная

 

пользователем

 

строка

 

становится

 

значением

 

функции

Добавить

 

в

 

начале

 

процедуры

 

Private Sub User-

Form_Activate()

 

следующие

 

строки

strA1 = InputBox("

Введите

 

первый

 

операнд

",_  

"

Присвоение

 

значений

 

операндам

") 

strA2 = InputBox("

Введите

 

второй

 

операнд

", _ 

"

Присвоение

 

значений

 

операндам

 ") 

TextBox1.Value = Val(strA1) 
TextBox2.Value = Val(strA2) 

В

 

результате

 

при

 

запуске

 

процедуры

 

на

 

экране

 

последовательно

 

по

-

являются

 

два

 

диалоговых

 

окна

 

с

 

текстовыми

 

полями

куда

 

можно

 

ввести

 

значения

При

 

нажатии

 

на

 

клавишу

 

ОК

 

в

 

первых

 

двух

 

текстовые

 

окнах

 

калькулятора

 

появятся

 

введенные

 

значения

а

 

при

 

нажатии

 

клавиши

 

 

Cancel

 – 

по

 

умолчанию

 

введутся

 

нулевые

 

значения

9)

 

С

 

помощью

 

функции

 

MsgBox

 

можно

 

добавлять

 

в

 

проект

 

пане

-

ли

 

сообщений

В

 

простейшем

 

случае

 

функция

 

MsgBox

 

работает

 

в

 

режиме

 

оператора

 

и

 

используется

 

для

 

вывода

 

сообщений

 

не

 

на

 

форме

а

 

на

 

специальной

 

па

-

нели

 

сообщений

Синтаксис

 

функции

 

в

 

режиме

 

оператора

MsgBox 

Сообщение

$ [,

ЧислоКод

1+

ЧислоКод

2] [,

Заголовок

$] 


background image

В

 

результате

 

на

 

экране

 

появится

 

панель

 

сообщений

 

со

 

строкой

 

Со

-

общение

$

в

 

строке

 

заголовка

 

будет

 

выведено

 

Заголовок

$, 

а

 

аргумент

 

ЧислоКод

1+

ЧислоКод

2

 

определяет

 

внешний

 

вид

 

панели

С

 

помощью

 

одного

 

числа

являющегося

 

суммой

 

чисел

 

ЧислоКод

1

 

и

 

ЧислоКод

2

можно

 

одновременно

 

установить

 

определенную

 

пиктограм

-

му

 

и

 

определенную

 

комбинацию

 

кнопок

размещенных

 

на

 

панели

 

сообще

-

ний

Значения

 

чисел

 

ЧислоКод

1

 

и

 

ЧислоКод

2

 

приведены

 

в

 

таблицах

 8.1 

и

 8.2.  

Таблица

 8.1  

 

 

 

 

 

Таблица

 8.2. 

ЧислоКод

1

Пиктограмма

 

16  

32  

48  

64  

 

ЧислоКод

2

Набор

 

кнопок

 

ОК

 

ОК

Отмена

 

Стоп

Повтор

Пропустить

 

Да

Нет

Отмена

 

Да

нет

 

Повтор

Отмена

 

 

Например

 

число

 36 

можно

 

рассматривать

 

как

 

сумму

 

чисел

 4 (

код

 

комбинации

 

кнопок

 

Да

Нет

и

 32 (

код

 

пиктограммы

 «

Вопрос

»).  

Для

 

вывода

 

на

 

панели

 

сообщений

 

с

 

заголовком

 

"MsgBox 

в

 

режи

-

ме

 

оператора

сообщения

 "

Ввод

 

закончен

"

 

достаточно

 

добавить

 

в

 

процедуру

 

Private Sub UserForm_Activate()

строку

MsgBox "

Ввод

 

закончен

",48,"MsgBox 

в

 

режиме

 

оператора

В

 

случае

 

записи

 

аргументов

 

в

 

скобках

функция

 

MsgBox

 

получает

 

определенное

 

значение

которое

 

может

 

быть

 

присвоено

 

какой

-

либо

 

пере

-

менной

Синтаксис

 

функции

 

при

 

этом

 

следующий

MsgBox (

Сообщение

$ [, 

ЧислоКод

1+

ЧислоКод

2 ] [, 

Заголовок

$ ] ) 

10)

 

Добавить

 

в

 

форму

 

элемент

 

управления

 

Image

  (

Рисунок

), 

ко

-

торый

 

используется

 

для

 

отображения

 

графических

 

файлов

 

в

 

формате

 BMP, 

CUR, GIF, ICO,JPG 

и

 WMF 

в

 

форме

Включить

 

в

 

процедуру

 Private Sub UserForm_Activate() 

строки

 

bytA = MsgBox("

Будете

 

работать

 

с

 

калькулятором

?", _ 

36, "

Калькулятор

") 

If bytA = 6 Then 

Х

 

?

!

i


background image

Image1.Picture = LoadPicture("

Полное

 

имя

 

файла

") 

Else 
TextBox1.Value = " " 
TextBox2.Value = " " 

End If 

В

 

результате

 

на

 

экране

 

появится

 

сообщение

 

"

Будете

 

работать

 

с

 

калькулятором

?"

 

и

в

 

случае

 

нажатия

 

на

 

клавишу

 

Да

 

значение

 

функции

равное

 6, 

присваивается

 

целочисленной

 

переменной

 

bytA

а

 

в

 

форму

 

загрузится

 

рисунок

 

и

 

в

 

первых

 

двух

 

текстовые

 

окнах

 

калькулятора

 

останутся

 

введенные

 

значения

при

 

нажатии

 

на

 

клавишу

 

Нет

 

рисунок

 

не

 

загрузится

а

 

в

 

текстовые

 

окна

 

очистятся

Добавить

 

рисунок

 

в

 

форму

 

можно

 

и

 

в

 

окне

 

Properties

 

элемента

 

управления

 Image (

Рисунок

), 

Значение

 

False

 

свойства

 

AutoSize

устанав

-

ливаемое

 

в

 

окне

 

Properties

позволяет

 

вписать

 

рисунок

 

в

 

выбранное

 

окно

значение

 

True

 

выводит

 

ту

 

часть

 

рисунка

которая

 

помещается

 

в

 

окне

11)

 

Для

 

доступа

 

к

 

созданному

 

проекту

 

из

 

среды

 Microsoft Word 

удобно

 

поместить

 

соответствующую

 

кнопку

 

на

 

требуемой

 

панели

 

инстру

-

ментов

Для

 

этого

 

необходимо

 

создать

 

пустой

 

макрос

 

Макрос

1() 

и

 

назна

-

чить

 

ему

 

кнопку

 

на

 

требуемой

 

панели

 

инструментов

Добавьте

 

в

 

макросе

 

всего

 

одну

 

строку

отображающую

 

форму

 Form1 

на

 

экране

 

Sub 

Макрос

1() 

Form1.Show 

End Sub 

12)

 

Для

 

создания

 

нового

 

раздела

 

меню

 

выбрать

 

из

 

меню

 

Сервис

 

команду

 

Настройка

На

 

вкладке

 

Команда

 

выбрать

 

категорию

 

Новое

 

ме

-

ню

 

и

 

перетащить

 

появившуюся

 

команду

 

Новое

 

меню

 

в

 

строку

 

меню

Вы

-

брать

 

категорию

 

Макросы

 

и

 

перетащить

 

требуемый

 

макрос

 

в

 

раздел

 

меню

 

Новое

 

меню

Закрыть

 

окно

13)

 

Проверить

 

работу

 

макроса

 

с

 

панели

 

инструментов

 

и

 

из

 

меню

7.

 

РАЗРАБОТКА

 

АВТОМАТИЗИРОВАННОГО

 

ПРИЛОЖЕ

-

НИЯ

 

С

 

ПОМОЩЬЮ

 VBA 

и

 WORD 

Использование

 VBA 

позволяет

 

автоматизировать

 

процесс

 

обработки

 

документов

 

с

 

помощью

 

написания

 

и

 

использования

 

собственных

 

макроко

-

манд

При

 

этом

перед

 

тем

как

 

начать

 

создавать

 

свое

 

автоматизированное

 

приложение

необходимо

 

определить

 

степень

 

необходимой

 

автоматизации

 

и

 

выработать

 

определенный

 

подход

 

к

 

дизайну

 

элементов

 

проекта

Если

 

до

-


background image

кумент

 

должен

 

быть

 

определенным

 

образом

 

отформатирован

 

или

 

иметь

 

заданные

 

параметры

 

страницы

то

 

это

 

можно

 

осуществить

 

лишь

 

средства

-

ми

 

самого

 Word. 

Если

 

же

 

требования

 

к

 

вводимым

 

данным

 

весьма

 

строги

 

и

 

абсолютно

 

негибки

то

 

приложение

 

только

 

выиграет

 

от

 

применения

 

поль

-

зовательских

 

форм

позволяющих

 

вводить

 

данные

 

только

 

строго

 

опреде

-

ленного

 

типа

а

 

также

 

из

 VBA-

программы

которая

 

расположит

 

их

 

в

 

опре

-

деленных

 

частях

 

документа

7.1.

 

Шаблоны

 

После

 

формулировки

 

требований

 

к

 

приложению

 

приступают

 

к

 

соз

-

данию

 

шаблона

который

 

определит

 

требуемое

 

форматирование

парамет

-

ры

 

страницы

а

 

также

 

содержит

 

коды

 

макрокоманд

 

и

 

необходимые

 

пользо

-

вательские

 

формы

Начав

 

с

 

обычного

 

документа

 

или

 

документа

основан

-

ного

 

на

 

похожем

 

шаблоне

вставить

 

в

 

новый

 

шаблон

 

необходимые

 

рисун

-

ки

таблицы

 

и

 

другие

 

элементы

Разработать

 

шаблон

 

для

 

первого

 

листа

 

текстовой

 

технической

 

доку

-

ментации

 (

Рис

. 9.1) 

в

 

текстовом

 

редакторе

 MS Word. 

Для

 

этого

 

установите

 

на

 

закладке

 

Параметры

 

страницы

 

следующие

 

значения

 

полей

левое

 – 

см

правое

 – 0,5 

см

верхнее

 

и

 

нижние

 – 

минимально

 

возможное

Затем

 

с

 

помощью

 

таблицы

 

создать

 

в

 MS Word 

шаблон

 

рамки

 

со

 

штампом

 

задан

-

ных

 

размеров

 

и

 

вписать

 

в

 

соответствующие

 

ячейки

 

общий

 

неизменный

 

текст

Пометить

 

ключевые

 

области

 

шаблона

установив

 

закладки

Закладки

 

дают

 

возможность

 VBA-

программе

 

быстро

 

и

 

безошибочно

 

переходить

 

к

 

данной

 

части

 

документа

Такой

 

подход

 

обеспечивает

 

быстрое

 

выполнение

 

различных

 

действий

 

в

 

выделенной

 

области

например

ввод

 

текста

приме

-

нение

 

различных

 

команд

 

форматирования

 

или

 

перемещение

 

точки

 

вставки

 

или

 

курсора

 

в

 

то

 

место

где

 

пользователь

 

должен

 

ввести

 

текст

.  

Для

 

создания

 

закладки

 

в

 

шаблоне

 

необходимо

 

выполните

 

следую

-

щие

 

действия

1) 

Указать

 

место

 

для

 

закладки

переместив

 

сюда

 

точку

 

вставки

.  

2) 

В

 

меню

 

Вставка

 

выбрать

 

команду

 

Закладка

.  

3) 

Ввести

 

имя

 

закладки

 

в

 

поле

 

Имя

 

закладки

 

и

 

щелкнуть

 

на

 

кнопке

 

Добавить

Добавить

 

в

 

шаблон

 

следующие

 

закладки

с

cOsn

 – 

указывает

 

место

куда

 

вводится

 

основная

 

надпись

ccRazd

 – 

указывает

 

место

куда

 

вводится

 

название

 

раздела

ccList

 – 

указывает

 

место

куда

 

вводится

 

номер

 

листа

ccListov

 – 

указывает

 

место

куда

 

вводится

 

количество

 

листов