такой переменной с помощью стандартною оператора Dim:
Dim usrРаботник As Персона
Как видите, при этом не требуется объявлять элементы внутри пользовательского типа.
И хотя оператор Dim задает имя новой переменной, имена ее элементов фиксируются в объявлении соответствующею пользовательского типа.
Чтобы получить целую базу данных вашего пользовательскою типа, объявите массив с помощью оператора следующего вида:
Private Персонал( 1 То 25) As Перcона
Обработка информации, представленной пользовательским типом данных
После объявления переменной пользовательского типа ее можно "начинять" информацией. При этом необходимо присвоить значение каждому из элементов, составляющих тип.
А для этого нужно идентифицировать элемент с помощью имени переменной, за которым следую почка и имя элемента. Например:
usrРаботник.strФамилия = "Ёлкин"
При заполнении нескольких элементов сразу оператор With поможет сократить объемы необходимого печатания. Вот пример использования этого оператора:
"With из usrРаботник
.strФамилия = "Исаков"
.strИмя = "Василий"
.datДатаНайма - #12/9/48#
End With
Для присвоения данных элементам в массиве пользовательского типа используйте стандартные индексы массива. В следующем примере такой индекс задается переменной:
Персона ( intНомер).strИмя = "Марфа"
Работа с переменными пользовательского типа данных
Если переменная пользовательского типа хранит полный набор данных, можно присвоить ее содержимое другой переменной того же типа- все содержимое сразу, без копания в элементах, из которых состоят эти переменные. Например, чтобы присвоить содержимое переменной изгРаботник второй ячейке в массиве Персонал, используйте оператор
Персонал(2) = usrРаботник
Самое интересное, что этот трюк срабатывает также в случае чтения информации из файла и записи информации в файл на диске. Например, можно сохранить полную записей базу данных на диске с помощью программного кода следующего вида:
Sub WriteData()
Open "С:DatabaseСотрудники.dat" For Binary As #1
For i = 1 To intРазмерБазыДанных ' цикл по всем записям
Put #1, , Персонал(i)
Next i
Close #1 ' закрытие файла - обязательный шаг
End Sub
Чтение данных из файлов и запись данных в файлы на диске обсуждаются в главе 18.
Часть IV Профессиональная работа c VBA
В этой части...
B главах с 14 по 16 рассматривается использование VBA в Microsoft Office. В главе 14 вы познакомитесь с инструментами программирования, которые работают во всех приложениях Office, Сюда относятся приемы для настройки пользовательского интерфейса программирования Помощника по Office, который чаще всего появляется в лице Скрепыша, а также сохранения данных программы в должном формате.
В главах 15 и 16 мы детально остановится на программировании для Word u.Excel соответственно наиболее широко используемых VBA-приложений. В каждой из глав подробно рассматриваются важные средства и приемы программирования для работы с документами и их содержимым с помощью VBA.
Материал остальных глав настоящей части представляет , интерес для всех VBA -программистов, независимо от того, в каком приложении они работают.
В главе 17 мы поговорим о программировании для баз данных на VBA. В главе 18 мы рассмотрим не очень удобные, но более мощные не объектно-ориентированные способы работы с файлами, чем объектно-ориентированные способы, которые рассматриваются нами в главе 20, И наконец, в главе 19 я предлагаю вам расширенно рассмотреть VBA-формы.
Глава 14. VBA для Office.
В этой главе ...
~ Отображение пользовательских панелей инструментов и кнопок с помощью VBA
~ Программирование Помощника по Office
~ Сохранение значений переменных на диске
VBA полезен для создания полноценных приложений не меньше, чем небольших подручных средств. В настоящей главе я познакомлю вас с некоторыми приемами, которые позволят вам профессионально работать с приложениями Office.
Контроль над панелями инструментов и меню
Приложения Office позволяют пользователям настраивать панели инструментов, строки меню и контекстные меню, обходясь безо всякого программирования, поэтому для решения подобных задач в VBA необходимости нет. Однако, если вы хотите, чтобы окно VBA программы содержало определенный набор панелей инструментов или меню либо вам необходимо внести изменения в панели инструментов или меню при, например, запущенной программе, вам нужно написать программный код, который позволял бы в определенных условиях включать или отключать команды меню.
В последних версиях Office граница между панелями инструментов и меню стала исчезать: вы можете добавлять кнопки в меню или раскрывающиеся списка на любую панель инструментов. В VBA главная строка меню и остальные панели инструментов относятся к коллекции объектов CommandBars. Конечно же,