
stuff / Информационные технологии 6
.odtПримеры объявления массивов:
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:
-
Математические:
abs, cos, sin, sgn, sqr, sqrt, rnd (0÷1), <..>;
-
Проверка типов:
isArray(var), isDate(var), isNull(var), isObject(var);
-
Преобразование форматов:
val(string) — возвращает числа, содержащиеся в строке, str(int), <..>;
-
Обработка строк:
lCase, uCase, len(string), <..>;
-
Функции времени и даты:
date (текущая системная дата), time (текущее системное время), now (текущие системные время и дата), day, month, year, <..>;
деньРождения = #December 26, 1994#
день = day(деньРождения)
-
<..>
Инструкции VBA:
-
Описания;
-
Присваивания:
[let] x = x + 3
Если требуется присвоить ссылку на объект: set object = range(«A1:B3»)
with range(«A1»)
.value = 3
.fontItalic = true
endWith
-
Исполняемые;
-
Перехода:
goto (задаёт переход на указанную строку по метке (mark:)), if сумма > 1000 then скидка = 0.05 else скидка = 0;
Операторы:
-
Оператор if then
Если операторы находятся в одной строке после «then», то они разделяются двоеточием, а если на разных, то условие закрывают с «endIf».
if условие then оператор1:оператор2:оператор3
if условие then
оператор1
оператор2
оператор3
endIf
-
Оператор выбора 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
-
Оператор for next: оператор повторяет выполнение группы инструкций до тех пор, пока переменная цикла изменяется от начального значения до конечного с указанным шагом.
Dim i, s as integer
s = 0
for i = 2 to 100 step 2
s = s + 1
next
msgBox s
-
Оператор while (выполняет последовательность инструкций пока заданное условие истинно)
-
Оператор 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