Операторы VBA
Операторы VBA
Язык VBA был разработан таким образом, чтобы его можно было достаточно легко и быстро изучить, а затем ежедневно использовать. Язык VBA полезен как профессиональным программистам, так и простым пользователям, для автоматизации повседневной рутинной работы. Какой бы не была Ваша цель: упростить повседневную работу или повысить производительность труда, безусловно, язык VBA лучше всего подходит для этих целей, поскольку он разработан специально для работы с приложениями пакета Microsoft Office.
Знание операторов является необходимой основой для изучения любой темы по VBA, т.е. прежде чем браться за изучение языка, стоит достаточное время уделить операторам и функциям.
Операторы VBA
- AppActivate title, wait - Активизирует открытое приложение по заданному аргументом title заголовку или идентификатору задачи
- Beep - подача звукового сигнала
- Call name, argumentlist - Вызов процедуры с названием name. (Поскольку ключевое слово Call необязательно и можно вызвать процедуру, используя только ее имя, этот оператор редко используется в программировании VBA)
- ChDir path - Заменяет текущую папку папкой, указанной аргументом path
- Close filenumberlist - Изменяет текущий диск на диск, указанный аргументом drive
- Const CONSTNAME - Объявляет константой переменную с именем CONSTNAME
- Date = date - Изменяет системную дату на дату, указанную аргументом date
- Declare name - Объявляет процедуру из динамически присоединяемой библиотеки (DLL)
- DefBool letterrange - Оператор уровня модуля, устанавливающий тип Boolean типом данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange (например, DefBool A-F)
- DefByte letterrange - Задает тип Byte как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefCur letterrange - Задает тип Currency как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefDate letterrange - Задает тип Date как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefDbl letterrange - Задает тип Double как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefInt letterrange - Задает тип Integer как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefLng letterrange - Задает тип Long как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefObj letterrange - Задает тип Object как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefSng letterrange - Задает тип Single как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefStr letterrange - Задает тип String как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DefVar letterrange - Задает тип Variant как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
- DeleteStting appname, section, key - Удаляет раздел section или ключ key из реестра Windows
- Dim varname - Объявляет переменную с именем varname
- Do:Loop - Выполняет цикл по нескольким операторам до тех пор, пока логическое условие равно True
- End Keyword - Завершает процедуру, функцию или управляющую структуру
- Enum name - Оператор уровня модуля, который объявляет переменную перечислимого типа
- Erase arraylist - Очищает память от динамически выделенного массива или выполняет повторную инициализацию массива с фиксированными размерами
- Error errornumber - Имитирует ошибку, присваивая объекту Err значение errornumber
- Event procedurename(arglist) - Оператор может присутствовать только в модуле класса. Он объявляет событие, определенное пользователем
- Exit keyword - Выход из процедуры, функции или управляющей структуры
- FileCopy source, destination - Копирует файл source в папку destination (при этом можно изменить имя исходного файла)
- For Each:Next - Цикл по каждому члену коллекции
- For:Next - Цикл по нескольким операторам, выполняемый до тем пор, пока счетчик цикла не достигнет заданного значения
- Function - Объявляет пользовательскую процедуру-функцию
- Get #filenumber, varname - Производит чтение в переменную из файла ввода-вывода, открытого оператором Open
- GoSub:Return - Осуществляет вход в подпрограмму, описанную в процедуре, и выход из нее. (Использование этого оператора не рекомендуется, поскольку создание отдельной процедуры позволит сделать код более простым для понимания)
- GoTo line - Передает управление на строку кода, на которую указывает метка line
- If:Then:Else - Выполняет один из двух фрагментов кода на основе результата логической проверки
- Imlements InterfaceName, Class - Определяет название интерфейса или класса, который будет реализован в модуле класса
- Input #filenumber, varlist - Производит чтение из файла ввода-вывода в переменные
- Kill pathname - Удаляет файл pathname с диска
- Let varname = expression - Устанавливает переменную varname равной выражению expression. Ключевое слово Let необязательно и практически никогда не используется
- Line Input #filenumber, var - Производит чтение одной строки из файла ввода-вывода и сохраняет ее в строковой переменной
- Load - Загружает форму в память, но не выводит ее на экран
- Lock #filenumber, recordrange - Управляет доступом к файлу ввода-вывода
- LSet stringvar = string - Размещает строку, начиная с крайнего слева символа, в переменной типа String. При этом размер переменной не изменяется
- LSet var1 = var2 - Копирует переменную одного пользовательского типа в переменную другого, но совместимого, пользовательского типа
- Mid - Заменяет заданное количество символов в строковой переменной символами из другой строки
- MidB - Побайтно заменяет символы в строковой переменной символами из другой строки
- MkDir path - Создает папку с именем path
- Name oldpathname as newpathname - Изменяет имя файла или папки
- On Error - Задает способ обработки ошибок
- On:GoSub, On:GoTo - Передает управление заданной строке на основе результата выражения
- Open pathname, : - Открывает файл для ввода-вывода
- Option Base 0|1 - Задает (на уровне модуля) для массивов установленную по умолчанию нижнюю границу (номер первого элемента)
- Option Compare Text|Binary - Определяет (на уровне модуля) установленный по умолчанию режим сравнения строк
- Option Explicit - Принуждает программиста к явному объявлению переменных. Введите этот оператор на уровне модуля
- Option Private - Указывает, что модуль закрыт, и к нему нельзя обратиться из процедур, расположенных в других модулях. Введите оператор на уровне модуля
- Print #filenumber - Производит запись в файл ввода-вывода
- Private varname - Объявляет, что переменная varname будет закрытой, и ею можно будет пользоваться только в модуле, в котором она объявлена. Введите оператор на уровне модуля
- Property Get - Объявляет процедуру свойства, которая будет принимать значения этого свойства
- Property Let - Присваивает значение свойству в процедуре свойства
- Property Set - Устанавливает ссылку на объект в процедуре свойства
- Public varname - Открывает доступ к переменной varname для всех процедур, содержащихся в модуле
- Put #filenumber, varname - Записывает данные из переменной varname а файл ввода-вывода
- RaiseEvent eventname, arguments - Вызывает событие с именем eventname
- Randomize number - Инициализирует генератор случайных чисел. Пропустить аргумент number, чтобы каждый раз инициализировать его разными начальными числами
- ReDim varname - Повторно выделяет память для динамического массива
- Rem comment - Указывает VBA, что следующий за оператором текст является комментарием. Вместо этого оператора чаще используется символ апострофа
- Reset - Закрывает все файлы ввода-вывода, которые были ранее открыты оператором Open
- Resume - После возникновения ошибки возобновляет выполнение программы со строки, в которой возникла ошибка
- RmDir path - Удаляет папку
- RSet stringvar = string - Записывает строку в строковую переменную, выравнивая символы по правому краю
- SaveSetiing appname, : - Создает или сохраняет установки в реестре Windows
- Seek #filenumber, position - Устанавливает текущую позицию в файле ввода-вывода
- Select Case - Выполняет группу операторов на основе значения выражения
- SendKeys string, wait - Передает в активное приложение нажатия клавиш, заданные строкой string так, как будто они были введены с клавиатуры
- Set objectvar = object - Присваивает объект object объектной переменной с именем objectvar
- SetAttr pathname, attr - Задает атрибуты доступа, определенные аргументом attr (например, vbReadOnly) для файла, заданного аргументом pathname
- Static varname - Объявляет (на уровне модуля), что переменная varname будет сохранять свои значения все время, пока будет выполняться код модуля
- Stop - Переводит VBA в режим паузы
- Sub - Объявляет процедуру
- Time = time - Устанавливает системное время равным аргументу time
- Type varname - Объявляет пользовательский тип данных. (Используется только на уровне модуля)
- Unload - Удаляет форму из памяти
- Unlock #filenumber, recordrange - Удаляет атрибуты доступа для файла ввода-вывода
- While:Wend - Выполняет цикл по группе операторов до тех пор, пока логическое условие истинно
- Width #filenumber, width - Задает ширину строки для файла ввода-вывода
- With:End With - Выполняет группу операторов для заданного объекта
- Write #filenumber - Производит запись данных в файл ввода-вывода