
- •Алгоритмизация и программирование на vba: основы программирования
- •Содержание
- •1 Цель работы. 20
- •2.2Объекты
- •2.3События
- •3Порядок выполнения работы
- •4Содержание отчёта
- •Цель работы
- •5Контрольные вопросы
- •Синтаксис:
- •Аргументы:
- •2.1.3Инструкция DefТип
- •Синтаксис:
- •Аргументы:
- •2.1.6Допустимые имена
- •Синтаксис:
- •Аргументы:
- •2.3.2Совместимость типов
- •2.4Перенос строки
- •2.5Комментарии
- •2.6Расположение операторов в одну строку
- •2.7 Операции в vba
- •2.7.1Арифметические
- •2.7.2Строковые
- •Синтаксис:
- •2.7.3Операции отношения
- •2.7.4Логические операции.
- •2.7.5Приоритеты операций
- •2.8Встроенные функции vba
- •2.8.1Математические функции
- •2.8.2Функции проверки типов
- •2.8.3Функции преобразования форматов
- •Синтаксис:
- •Аргументы:
- •2.8.4Функции обработки строк
- •2.8.5Функции времени и даты
- •2.8.6Функции, возвращающие строки
- •2.8.7Встроенные диалоговые окна
- •Синтаксис:
- •Аргументы:
- •Синтаксис:
- •Аргументы:
- •2.9Схема алгоритма
- •3Задание
- •4Содержание отчёта
- •5Контрольные вопросы
- •6Пример выполнения работы Задание:
- •Текст программы:
- •7Индивидуальные задания
Синтаксис:
Set ОбъектнаяПеременная = [New]<ОбъектноеВыражение | Nothing>
Аргументы:
New используется при создании нового экземпляра класса;
Nothing позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (вольно говоря, она удаляет объект из памяти).
В следующем примере инструкция Set присваивает переменной «Область» диапазон А1:B3: Set Область = Range ("A1:B3")
2.3.2Совместимость типов
Переменной заданного типа можно присваивать только такое значение, которое соответствует этому типу. Например, если была описана переменная «a» типа Integer, то этой переменной нельзя корректно присвоить значение переменной «b» типа Single, поскольку VBA не сможет правильно отобразить значение с плавающей точкой на множество целых чисел. Выполнение инструкции a = b приведёт к тому, что в переменной «a» будет сохранено округлённое до целого значение переменной b, что может привести к ошибке при дальнейшем использовании этого значения. Кроме того, в связи с тем, что в переменной типа Single может быть сохранена большая величина, чем диапазон допустимых значений типа Integer, выполнение этой инструкции может вызвать ошибку переполнения в процессе выполнения программы.
С другой стороны обратное отображение может быть выполнено вполне корректно, и переменной типа Single всегда может быть присвоено значение переменной типа Integer. b = a всегда будет корректно выполняться.
Исходя из этих соображений, разные типы могут быть совместимы, если посмотреть на размер, занимаемый ими в памяти, диапазон значений и воспользоваться здравым смыслом.
В случае необходимости переменной одного типа присвоить значение другого типа, необходимо воспользоваться соответствующей функцией преобразования типов. При этом такое преобразование не спасает от ошибок переполнения. Функции преобразования типов будут рассмотрены ниже.
2.4Перенос строки
Расположение символов (пробел) + (Знак подчеркивания) в конце строки обеспечивает то, что последующая строка является продолжением предыдущей. При этом надо помнить, что:
Нельзя разбивать переносом строковые константы
Допустимо не более семи продолжений одной строки
Строка не может состоять более чем из 1024 символов
Например: Dim a As Integer, b As Byte _ S As String
2.5Комментарии
Работая с программой, удобно использовать комментарии, то есть фрагменты текста программы, не являющиеся программными кодами и игнорируемые компилятором. Комментарии выполняют две важные функции:
Делают программу легко читаемой, поясняя смысл программных кодов и алгоритма.
Временно отключают фрагменты программы при отладке.
В языке VBA существуют два способа ввода комментариев:
Применение апострофа '. Его можно ставить в любом месте строки. При этом все символы, начиная от апострофа до конца строки, будут восприниматься компилятором как комментарий.
Применение зарезервированного слова Rem.
Ниже приведен пример использования комментариев в тексте программы: Dim a As Integer ' а — целая переменная Dim b As String Rem b — строковая переменная