Читаем Excel. Трюки и эффекты полностью

Описание структур

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

[Public | Private] Type Имя_структуры

Поле1

Поле2

ПолеN

End Type

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

• Publiс – применяется для описания структуры, которую можно использовать (объявлять переменные этого типа) во всех модулях проекта; недопустимо в модулях класса;

• Private – применяется для описания структуры, которую можно использовать только в том модуле, где эта структура описана.

После ключевого слова Туре следует имя описываемой структуры. Внутри блока Type-End Туре помещаются объявления переменных-членов структуры. Эти объявления аналогичны объявлениям обычных переменных и отличаются только отсутствием в начале ключевых слов Dim, Static, Private или Public и тем, что в одной строке можно объявлять только одну переменную.

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

Type ПроектИнформация

Название As String

Срок_завершения As Date

End Type

Type Сотрудник

Имя As String

Фамилия As String

Адрес As String

Телефон As String

Дата_рождения As Date

Проект As ПроектИнформация

End Type

Далее на этом примере рассмотрим особенности работы со структурами в программах на VBA.

Объявление переменных, содержащих структуры

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

Dim worker As Сотрудник

VBA позволяет создавать массивы любых типов данных, в том числе и структур:

Dim workers (15) As Сотрудник

В данном случае будет создан массив из 15 структур типа Сотрудник.

Примечание

При объявлении переменных, содержащих структуры, происходит автоматическая инициализация всех полей созданных структур.

Доступ к полям структур

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

strFirstName = worker.Имя

strPhone = worker.Телефон

При доступе к массиву структур получение значений полей будет выглядеть следующим образом:

strFirstName = workers(15). Имя

strPhone = workers(15). Телефон

Получить значения полей вложенной структуры можно следующим образом (Проект – вложенная структура):

strName = worker.Проект. Название

datDate = worker.Проект. Срок_завершения

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

worker.Имя = «Иван»

worker.Фамилия = «Иванов»

worker.Адрес = «ул. Первомайская, д. 100, кв. 5»

worker.Телефон = «(095) 200 00 00»

worker.Дата_рождения = «12.03.1978»

worker.Проект. Название = «План здания»

worker.Проект. Срок_завершения = «15.09.2005»

Содержимое полей структур можно использовать в любых корректных выражениях, например:

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

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

<p>Перечисления</p>

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

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных