Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на VBA.pdf
Скачиваний:
0
Добавлен:
29.11.2025
Размер:
1.86 Mб
Скачать

Private Sub Command 1_Click() 'выбор из массива по 'значению

TabIndex=0

OLE1(Command1.Tablndex).Visible = True

End Sub

Private Sub Command2_Click()

'выбор из массива по 'значению

TabIndex=1

 

OLE1 (Command2.Tablndex).Visible = True

End Sub

Private Sub Command3_Click()

'выбор из массива по 'значению

TabIndex=1

 

OLE1 (Command3.Tablndex).Visible = True

End Sub

8.4. Многомерный массив

Массивы могут быть и многомерными. В таких массивах присутствует несколько диапазонов значений индексов, которые записываются через запятую в скобках после имени массива. Пример объявления двумерного и трехмерного массивов:

Dim МассивА( 1 То 100, -5 То 4)

As Double

Dim МассивВ( 19,49,100) As

String* 10

Упражнение 8

Сделать приложение по рис. 43.

Запустить приложение, проверить работу.

Сделать приложение по рис. 44. Массив объектов OLE делается копированием вынесенного на форму объекта. Выбор объекта сделать по рис. 46.

Рис. 46

• Заполнение контейнеров OLE выполняется через редактор Paint-Brush (рис. 47).

Рис. 47

• Запустить приложение, в процессе работы отредактировать рисунки.

Задания для самостоятельной работы

Каждое задание состоит из двух частей: а) и б).

а) Одномерные массивы

1.Подсчитать количество положительных, отрицательных, нулевых значений, количество целых и дробных чисел, хранящихся в одномерном массиве из 10 элементов.

2.Найти наибольший и наименьший элементы одномерного массива из 10 элементов.

3.Подсчитать отдельно сумму четных и нечетных элементов одномерного массива из 10 элементов.

4.Вычислить сумму и произведение элементов одномерного массива из 10 элементов. Разделить первую величину на вторую.

5.Дан массив целых чисел А. Четные значения элементов массива записать в массив В, нечетные – в массив С. Подсчитать количество тех и других.

6.Протабулировать функцию

на интервале [-5; 5] с шагом изменения аргумента, равным 1. Значения аргумента записать в массив X, результат – в массив У.

7.Координаты точек ломаной линии находятся в двух одномерных массивах Х

иУ. Определить, в какой четверти лежит каждая точка.

8.Два одномерных массива X и У (из 5 элементов каждый) объединить в один

Z. Четные элементы массива Z состоят из элементов массива X, нечетные – из элементов массива У.

9.В одномерном массиве хранятся значения температуры воздуха в течение суток с интервалом в один час. Определить средние температуры дня и ночи, среднесуточную температуру.

10.Сгенерировать массив случайных чисел (от 0 до 10) из 25 элементов с помощью функции Rnd. Перед использованием Rnd инициализируйте генератор случайных чисел с помощью Randomise. Подсчитать, сколько раз встречается каждое число. Счетчик организовать в виде другого одномерного массива.

11.Поменять местами четные и нечетные элементы одномерного массива из 10 элементов.

12.Сформировать массив, содержащий элементы исходного массива в обратном порядке.

б) Многомерные массивы

1.Перемножить две матрицы А и В размерностью n×m и m×k. Размерности матриц и значения их элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы n×k.

2.Сложить две матрицы А и В размерностью n×m. Размерности матриц и значения их элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы n×m.

3.Транспонировать матрицу А размерностью n×m. Размерности матрицы и значения ее элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы m×n.

4.Вычислить определитель матрицы A размерности 3×3.

5.Координаты точек ломаной линии хранятся в двумерном массиве. Определить, пересекает ли каждый отрезок ломаной оси абсцисс и ординат.

6.Подсчитать сумму элементов каждой строки двумерного массива размерностью n×m.

7.Подсчитать среднее арифметическое каждого столбца двумерного массива размерностью n×m.

8.Найти наибольший элемент каждой строки и наименьший элемент каждого столбца двумерного массива размерностью n×m.

9.Из имеющегося одномерного массива из 20 элементов сформировать двумерный массив размерностью 5×4.

10.Подсчитать сумму элементов и их количество для верхней треугольной части матрицы размерностью n×n.

11.Подсчитать сумму элементов главной и побочной диагоналей квадратной матрицы размерностью n×n. Разделить большее число на меньшее.

12.Из двумерного массива размерностью 5×5 элементов удалить четные строки и столбцы. Результат вывести на экран в виде матрицы.

ПРИЛОЖЕНИЕ Основные элементы управления VBA

 

Свойства элементов управления

Таблица П1

 

 

Свойство

 

Описание

 

 

 

Элемент управления TextBox

 

Text

 

Содержимое поля

 

 

Enable

 

Можно ли вносить изменения в содержание поля

 

 

(True) или нет (False)

 

 

Multiline

 

Многострочный (True) или однострочный (False)

 

 

режим ввода текста

 

 

WordWrap

 

Включение/выключение (True/False) режима

 

 

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

 

ScrollBars

 

Отображение полос

прокрутки:

не выводить

 

 

(fmScrollBarsNone),

только

горизонтальная

 

 

(fmScrollBarsHorizontal),

только

 

 

вертикальная (fmScrollBarsVertical), обе

 

 

полосы прокрутки (fmScrollBarsBoth)

SelLength

 

Длина выделенного фрагмента

 

SelStart

 

Начало выделенного фрагмента

 

SelText

 

Текст выделенного фрагмента

 

Свойства элементов управления

Таблица П1

 

Свойство

 

Описание

 

MaxLength

Максимально

допустимое

количество

вводимых

 

символов (0 – нет ограничений)

 

PasswordChar

Определяет символ, отображаемый при вводе пароля

 

Элемент управления Label

 

 

Caption

Текст надписи

 

 

 

Multiline

Многострочный (True) или однострочный (False)

 

режим ввода текста

 

 

WordWrap

Включение/выключение (True/False) режима

 

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

 

 

Элемент управления CommandButton

 

Caption

Текст, отображаемый на кнопке

 

Cancel

Включение/выключение

(True/False)

 

отменяющего режима для кнопки (аналогичного

 

действию при нажатии на клавишу ESC)

 

Accelerator

Определение "горячей" клавиши (клавиши, нажатие

 

на которую одновременно с клавишей ALT

 

приводит к выполнению действий, инициируемых

 

нажатием

управляющего

элемента

 

CommandButton)

 

 

Default

Задает кнопку по умолчанию

 

 

 

Элемент управления ListBox

 

ListIndex

Номер текущего элемента списка (нумерация

 

осуществляется с нуля)

 

 

ListCount

Число элементов списка

 

 

TopIndex

Элемент списка с наибольшим номером

 

ColumnCount

Число столбцов в списке

 

 

TextColumn

Устанавливает столбец в списке, элемент которого

 

возвращается свойством Text

 

Text

Выбранный элемент

 

 

List(row, column)

Заданный элемент списка

 

 

RowSource

Диапазон, содержащий элементы списка

 

ControlSource

Диапазон (ячейка), куда возвращается выбранный

 

элемент списка

 

 

 

Свойства элементов управления

Таблица П1

 

 

Свойство

 

Описание

 

 

MultiSelect

Способ выбора элементов списка: выбор только

 

одного элемента (fmMultiSelectSingle), выбор

 

нескольких элементов с помощью мыши или

 

клавиши SPACE (fmMultiSelectMulti), выбор

 

нескольких элементов с использованием клавиши

 

SHIFT (fmMultiSelectExtended)

 

Selected

Выбран элемент списка (TRUE) или нет (FALSE)

ColumnWidths =

Ширина столбцов списка

 

 

 

“число [; число

 

 

 

 

 

 

[;…]]”

 

 

 

 

 

 

ColumnHeads

Вывод заголовков столбцов списка (TRUE) или нет

 

(FALSE)

 

 

 

 

 

ListStyle

Пометка

выделенного элемента

списка цветом

 

(fmListStylePlain)

или

 

флажком

 

(fmListStyleOption)

 

 

 

MatchEntry

Режим вывода первого подходящего элемента

 

списка при наборе его имени на клавиатуре: режим

 

отключен (fmMatchEntryNone), вывод по первой

 

букве (fmMatchEntryFirstLetter), вывод по

 

полному

набранному

 

имени

 

(fmMatchEntryComplete)

 

 

BoundColumn

Тип, возвращаемый свойством Value: индекс

 

выбранной строки (0) или сам элемент (1)

 

Clear

Удаляет все элементы из списка

 

 

RemoveItem(index)

Удаляет из списка элемент с номером index

AddItem([item [,

Добавляет элемент

item

как элемент

списка с

index]])

номером index

 

 

 

 

 

Элемент управления ComboBox

 

 

DropButtonStyle

Вид раскрывающегося

списка:

без

символа

 

(fmDropButtonStylePlain),

со

стрелкой

 

fmDropButtonStyleArrowDisplays),

с

 

эллипсом, (fmDropButtonStyleEllipsis), с

 

линией (fmDropButtonStyleReduce)

 

ListRows

Число элементов, отображаемых в раскрывающемся

 

списке

 

 

 

 

 

MatchRequired

Разрешение (True) или запрещение (False) ввода с

 

клавиатуры значений, отличных от перечисленных в

 

списке

 

 

 

 

 

MatchFound

Найден

(True) или

нет

(False) введенный с

Таблица П1

 

Свойства элементов управления

 

 

Свойство

 

 

Описание

 

 

 

 

клавиатуры элемент среди значений перечисленных

 

 

в списке

 

 

 

Элемент управления ScrollBar

 

 

Value

 

Текущее значение полосы прокрутки

 

Min

 

Минимальное значение полосы прокрутки (целое

 

 

неотрицательное число)

 

 

Max

 

Максимальное значение полосы прокрутки

 

SmallChange

 

Шаг изменения значения при использовании стрелок

 

 

полосы прокрутки

 

 

 

Элемент управления SpinButton

 

 

Value

 

Переключатель выбран (True) или нет (False)

 

Capture

 

Текст, отображаемый рядом с переключателем

 

 

 

Элемент управления Image

 

 

Picture=Loadpic-

Задает имя отображаемого графического файла

 

ture(ИмяФайла)

 

 

 

 

 

PictureSizeMode

 

Масштабирование

рисунка:

обрезка

не

 

 

умещающихся в заданных границах частей рисунка

 

 

(fmPictureSizeModeClip), изменение разме-ров

 

 

рисунка в соответствии с

границами объекта

 

 

(fmPictureSizeModeStretch), масштабирова-

 

 

ние по границам объекта с соблюдением пропорций

 

 

(fmPictureSizeModeZoom)

 

 

PictureAlignment

 

Расположение рисунка внутри объекта: в левом

 

 

верхнем углу (fmPictureAlignmentTopLeft), в

 

 

правом верхнем углу (fmPictureAlignment-

 

 

TopRight), в центре (fmPictureAlignment-

 

 

Center), в левом нижнем углу (fmPicture-

 

 

AlignmentBottomLeft), в правом нижнем углу

 

 

(fmPictureAlignmentBottomLRight)

 

PictureTiling

 

Режим расположения рисунка мозаикой (True)

 

Элемент управления MultiPage

 

 

Value

 

Возвращает номер выбранной страницы

 

MultiRow

 

Включение/выключение (True/False) режима

 

 

разрешения отображения ярлыков страниц в

 

 

несколько строк

 

 

 

SelectedItem

 

Возвращает выбранную страницу

 

Семейство

Pages элемента управления MultiPage

 

Count

 

Возвращает число элементов семейства

 

 

 

 

 

Таблица П1

Свойства элементов управления

Свойство

 

 

Описание

Set Object =

Создает новую страницу Object семейства Pages;

object.Add ([Name

Name – имя страницы, Caption – текст на ярлыке

[, Caption [,

страницы, index – номер страницы (нумерация

index]]])

осуществляется с нуля)

 

Clear

Удаляет все страницы из семейства Pages

Remove

Удаляет страницу из семейства Pages

Set Object =

Возвращает страницу с указанным индексом

object.Item

 

 

 

 

(coolectionindex)

 

 

 

 

Общие

свойства элементов управления

Name

Имя элемента управления

Caption

Текст, отображаемый на элементе управления

AutoSize

Включение/выключение (True/False) режима

 

автоматического

изменения размеров элемента

 

управления, чтобы на нем полностью отображался

 

текст, присвоенный свойством Caption

Visible

Включение/выключение (True/False) режима

 

отображения элемента управления

Enabled

Включение/выключение (True/False) режима

 

разрешения управления объектом

Height

Высота объекта

 

 

Width

Ширина объекта

 

 

Left, Top

Координаты верхнего левого угла элемента

 

управления

 

 

 

ControlTipText

Задает текст всплывающей подсказки

BackColor

Цвет заднего плана элемента

ForeColor

Цвет переднего плана элемента

BorderColor

Цвет границы элемента

 

BackStyle

Тип (стиль) заднего фона

BorderStyle

Устанавливает один тип (стиль) границы, но

 

различных

цветов:

fmBorderStyleSingle

 

(граница в виде

контура), fmBorderStyleNone

 

(невидимая граница)

 

SpecialEffect

Устанавливает несколько типов (стилей) границы,

 

но одного цвета

 

 

Picture

Внедряет графическое изображение на элемент

 

управления

 

 

 

Tag

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

для

хранения дополнительной

Таблица П1

Свойства элементов управления

 

Свойство

 

Описание

 

 

информации о форме или элементе управления

 

 

 

 

Таблица П2

 

Некоторые символические константы VBA

 

Константа

Значение

 

Цвет

 

 

vbBlack

0×0

 

Черный

 

 

vbRed

0×FF

 

Красный

 

 

vbGreen

0×FF00

 

Зеленый

 

 

vbYellow

0×FFFF

 

Желтый

 

 

vbBlue

0×FF0000

 

Синий

 

 

vbMagenta

0×FF00FF

 

Розовый

 

 

vbCyan

0×FFFF00

 

Голубой

 

 

vbWhite

0×FFFFFF

 

Белый

 

 

 

 

 

Таблица П3

 

Основные методы и события объекта UserForm

 

Метод/событие

 

Описание

 

 

Show

Отображает форму на экране

 

 

Hide

Закрывает форму

 

 

 

 

Move

Изменяет положение и размер формы

 

 

PrintForm

Печатает изображение формы

 

 

Initialize

Происходит при отображении формы на экране

 

 

Terminate

Происходит при закрытии формы