VBA автоматически ассоциирует создаваемые вами методы с классами, в которые вы эти методы добавляете. Созданные вами методы можно вызывать из других частей программы точно так же, как и методы встроенных объектов.
Использование своих собственных объектов
Объекты, основанные на созданных вами классах, используются аналогично встроенным объектам VBA и объектам вашего приложения.
1. Объявите переменную для объекта, например:
Dim objCustomThermostat As Thermostat
2. Используйте оператор Set, чтобы создать реальный объект, с которым предполагается работать, например:
Set objCustomThermostat = New Thermostat
3. Получите доступ к свойствам объекта или вызовите его методы, используя при этом стандартный синтаксис VBA, например:
objCustomThermostat.Setting = 65
objCustomThermostat.CalculateEnergyUse
Использование элементов управления ActiveX
Вопреки сложившейся репутации программного империалиста, Microsoft стремится сделать свои средства разработки полностью "открытыми". Основываясь на спецификациях ActiveX, любой программист может создавать новые элементы управления, которые станут работать почти в любой программной среде, управляемой Windows, - включая C++, HTML, Visual Basic, а также VBA. Конечно, Microsoft определяет стандарты, которым должны соответствовать такие подключаемые программные единицы, так что от власти она ни в коей мере не отказывается.
В любом случае, в VBA можно добавить новые возможности, подключив дополнительные элементы управления ActiveX, не входящие в стандартный набор VBA. В одном проекте можно произвольно комбинировать элементы управления из разных источников. И все элементы управления ActiveX в основном работают так же, как и встроенные, которые, кстати, тоже являются элементами управления ActiveX.
В главе 21 приводится краткий обзор множества коммерческих и условно-бесплатных элементов управления ActiveX, которые помогут вам в работе. В настоящей главе обсуждаются общие приемы использования элементов управления ActiveX, а также даны некоторые советы об использовании элемента управления общим диалоговым окном (common dialog box control), предлагаемым Windows.
Некоторые элементы управления ActiveX правильно работают не в любой программной среде. Поэтому, прежде чем платить деньги за элемент управления, убедитесь, что он ведет себя в вашей версии VBA так, как обещает продавец. Вы должны также знать, что элементы управления ActiveX, созданные в Visual Basic, могут работать и ваших VBA-программах, но, вероятно, потребуют больших (около 2 Мбайт) файлов поддержки Visual Basic.
Добавление новых элементов в панель элементов управления
Чтобы получить возможность использовать элемент управления ActiveX, выполните следующее.
1. Установите программное обеспечение элемента управления на жесткий диск.
Мне кажется, это имеет смысл.
2. Зарегистрируйте элемент управления в Windows.
Зарегистрировать элемент управления можно несколькими способами, и, скорее всего, процедура установки сделает все за вас. Если же вам придется делать это самим, то работающему в VBA программисту проще всего использовать редактор Visual Basic.
3. Выберите элемент управления, чтобы активизировать его для использования в VBA.
Регистрация элемента управления
Чтобы зарегистрировать новый элемент управления, выясните имя файла, содержащего элемент управления, и место, где размещается этот файл на диске. После этого выполните следующее.
1. Выберите Tools=References, чтобы открыть диалоговое окно со списком ссылок на элементы управления ActiveX, доступные для вашего проекта.
2. Щелкните на кнопке Browse (Обзор), чтобы открыть стандартное диалоговое окно Windows для открытия файлов. Из списка в поле Тип файлов выберите ActiveX Controls (*.ocx).
3. Найдите файл с новым элементом управления и двойным щелчком на файле откройте его. Открытие файла вернет вас в диалоговое окно References.
4. Найдите имя нового элемента управления в списке диалогового окна References и установите отметку соответствующего флажка.
5. Закройте диалоговое окно.
Помещение элемента управления в панель Toolbox
Зарегистрировав новый элемент управления, активизируйте его, поместив элемент управления в панель элементов управления (Toolbox). Вот как это сделать.
1. Активизируйте любое окно UserForm в редакторе Visual Basic, чтобы на экране появилась панель Toolbox.
2. Выберите ToolsoAdditional Controls из меню либо щелкните правой кнопкой мыши в панели Toolbox и выберите Additional Controls (Дополнительные элементы управления) из появившегося контекстного меню.
Читать дальше