Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

stuff / Информационные технологии 6

.odt
Скачиваний:
13
Добавлен:
02.04.2015
Размер:
25.03 Кб
Скачать

Примеры объявления массивов:

dim B(3, 3) as single

dim A(16) as string

Для объявления с $n по умолчанию: option base $n

dim B(1 to 3, 1 to 3) as single

dim A(1 to 16) as integer

Примеры объявления констант:

const процентнаяСтавка as single = 0.2

const фирма = «ООО Эльдорадо»

Тип данных, определённых пользователем

Наряду с массивами, представляющими нумерованный набор элементов одного типа, существует ещё один способ задания элементов структурного типа: это тип данных, определённых пользователем (запись).

Запись — это совокупность нескольких элементов, каждый из которых может иметь свой тип (Qlist<QVariant>).

Элемент записи называется полем.

type Студент

фамилия as string * 20

имя as string * 20

отчество as string * 20

номерЗачётки as integer

группа as string * 10

endType

Для строк фиксированной длины указывается количество символов.

Перед инструкцией type может стоять ключевое слово «private», если определённый пользователем тип должен быть доступен только в модуле, где он объявлен, либо ключевое слово «public», если определённый пользователем тип должен быть доступен для всех функций во всех модулях проекта.

Перенос строки: « _», при этом следует учитывать, что строка не может содержать более 1024 символов, нельзя разбивать переносом строковые константы, допустимо не более семи переносов одной строки.

Комментарий начинается с апострофа (одинарной кавычки).

Операции VBA

Арифметические

Отношений

Логические

a + b

a - b

a * b

a / b

a \ b

a mod b

a ^ b

<

>

<=

>=

<>

=

like (подобный, = в !integer)

and

or

xor

not

Сложение строк (конкатенация): [string1] & [string2]

Встроенные функции VBA:

  1. Математические:

    abs, cos, sin, sgn, sqr, sqrt, rnd (0÷1), <..>;

  2. Проверка типов:

    isArray(var), isDate(var), isNull(var), isObject(var);

  3. Преобразование форматов:

    val(string) — возвращает числа, содержащиеся в строке, str(int), <..>;

  4. Обработка строк:

    lCase, uCase, len(string), <..>;

  5. Функции времени и даты:

    date (текущая системная дата), time (текущее системное время), now (текущие системные время и дата), day, month, year, <..>;

    деньРождения = #December 26, 1994#

    день = day(деньРождения)

  6. <..>

Инструкции VBA:

  1. Описания;

  2. Присваивания:

    [let] x = x + 3

    Если требуется присвоить ссылку на объект: set object = range(«A1:B3»)

    with range(«A1»)

    .value = 3

    .fontItalic = true

    endWith

  3. Исполняемые;

  4. Перехода:

    goto (задаёт переход на указанную строку по метке (mark:)), if сумма > 1000 then скидка = 0.05 else скидка = 0;

Операторы:

  1. Оператор if then

    Если операторы находятся в одной строке после «then», то они разделяются двоеточием, а если на разных, то условие закрывают с «endIf».

    if условие then оператор1:оператор2:оператор3

    if условие then

    оператор1

    оператор2

    оператор3

    endIf

  2. Оператор выбора select case

    function квартал(месяц)

    select case месяц

    case 1 to 3

    квартал = 1

    case 4 to 6

    квартал = 2

    case 7 to 9

    квартал = 3

    case 10 to 12

    квартал = 4

    case else

    квартал = «»

    endSelect

    endFunction

  3. Оператор for next: оператор повторяет выполнение группы инструкций до тех пор, пока переменная цикла изменяется от начального значения до конечного с указанным шагом.

    Dim i, s as integer

    s = 0

    for i = 2 to 100 step 2

    s = s + 1

    next

    msgBox s

  4. Оператор while (выполняет последовательность инструкций пока заданное условие истинно)

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

    dim ps as string

    do

    ps = inputBox(«Введите пароль»)

    loop until пароль = «stud»

Пример программы, «заливающую» на рабочем листе ячейки разными цветами

public sub цвет()

range(«A1:C5»).interior.colorIndex = 6

range(«A6:C10»).interior.colorIndex = 34

range(«A11:C15»).interior.colorIndex = 4

endSub

Можно проверить текстовые содержимые ячейки, и если ячейка пуста, то залить её жёлтым цветом.

private sub commandButton1_Click()

for i = 1 to 10

if cells(2, i).value = «» then

cells(2, i).interior.colorIntex = 6

endIf

next i

endSub