Excel. Трюки и эффекты. Алексей Гладкий

Чтение книги онлайн.

Читать онлайн книгу Excel. Трюки и эффекты - Алексей Гладкий страница 13

Excel. Трюки и эффекты - Алексей Гладкий

Скачать книгу

в любых корректных выражениях, например:

      strFullName = "Имя: " & worker.Имя & ", фамилия: " & worker.Фамилия

      При использовании заполненной чуть выше структуры (с информацией о сотруднике Иванове) строка strFullName в результате обработки выражения получит значение" Имя: Иван, фамилия: Иванов".

      Перечисления

      VBA позволяет определять целочисленные типы данных с ограниченным количеством значений – перечисления. Каждому значению перечисления соответствует идентификатор.

      Использование перечислений, во-первых, позволяет оградить программиста от ошибок (не нужно знать значения элементов перечислений), а во-вторых, может повысить читаемость программного кода, так как вместо малоинформативных значений типа 167353b программе используются идентификаторы типа Actions ave. Использование перечислений также избавляет от необходимости создания глобальных целочисленных констант, которые используются только как значения параметров функций и процедур.

Описание перечислений

      Для описания перечисления в блок деклараций модуля необходимо поместить следующую конструкцию:

      [Public | Private] Enum Имя_перечисления

      Идентификатор1 [= Значение1]

      Идентификатор2 [= Значение2]

      …

      Идентификатор1 [= ЗначениеN]

      End Enum

      Ключевые слова Public и Private задают область видимости перечисления точно так же, как для структуры (см. выше).

      После ключевого слова Enum следует имя описываемого перечисления. Внутри блока Enum—End Enum задаются идентификаторы значений перечисления и, если нужно, сами значения, которые сопоставляются с идентификаторами.

      Если значение элемента перечисления явно не указывается, то оно автоматически формируется следующим образом:

      • если элемент перечисления первый, то тогда ему присваивается нулевое значение;

      • если элемент не первый, то его значение равняется значению предыдущего элемента, увеличенному на единицу.

      Ниже приведен пример описания перечисления:

      Enum MyEnum

      value1

      value2 = 100

      value3

      End Enum

      В приведенном примере создается перечисление, содержащее три идентификатора и значения. При этом с идентификаторами значения сопоставлены следующим образом: value1 имеет значение 0, value2 – значение 100, a value3 – 101.

Использование перечислений

      Объявление переменных для перечислений ничем не отличается от объявления переменных других типов. Ниже приведены примеры объявления переменной и массива переменных для перечисления MyEnum:

      Dim EnumValue As MyEnum

      Dim EnumValues(255) As MyEnum

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

      EnumValue = value1

      EnumValues(100) = value3

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

      If EnumValue = value2 Then…

      Здесь значением выражения EnumValue

Скачать книгу