Используйте запись действий
Несомненно, лучший способ познакомиться с VBA— включить функцию записи макросов и записать отдельные действия, выполненные в Excel. Это быстрый метод узнать, какие объекты, свойства и методы относятся к конкретной задаче. Будет лучше, если при записи отображается окно модуля VBA, в котором представлен записываемый код. Используйте электронную справочную систему Основной источник подробной информации об объектах, методах и процедурах Excel — это электронная справочная система.
Используйте броузер объектов Окно Object Browser (Броузер объектов)— это удобный инструмент, предоставляющий список всех свойств и методов для всех доступных объектов. В VBE окно Object Browser можно отобразить одним из трех способов. • Нажать <F2>. • Выбрать в строке меню команду View - Object Browser. • Щелкнуть на кнопке Object Browser на стандартной панели инструментов. Броузер объектов — полный справочный ресурс Выпадающий список в левом верхнем углу окна Object Browser содержит список всех библиотек объектов, к которым у вас есть доступ, • Собственно Excel. • MSForms (используется для создания специальных диалоговых окон). • Office (объекты, общие для всех приложений Microsoft Office). • S t d o l e (объекты автоматизации OLE). • VBA. • Все открытые рабочие книги (каждая книга считается библиотекой объектов, так как содержит объекты). Ваш выбор в этом списке определяет, что отображается в окне Classes (Классы), а выбор в окне Classes обусловит появление определенных компонентов в окне Members of (Включены в). После выбора библиотеки можно осуществить поиск конкретной строки текста, чтобs получить список свойств и методов, содержащих данный текст. Это можно сделать, введя текст во втором раскрывающемся списке и щелкнув на значке с изображением бинокля.
Предположим, что выработаете над проектом, обрабатывающим примечания в ячейках. 1. Выберите интересующую вас библиотеку. Если вы не уверены, какую именно библиотеку выбрать, укажите вариант <All Libraries>. 2. Введите Comment в выпадающем списке под списком библиотек. 3. Щелкните на значке в виде бинокля, чтобы начать поиск текста. В окне Search Results (Результаты поиска) отображается текст, соответствующий фрагменту для поиска. Выберите один объект, чтобы отобразить его классы в окне Classes. Укажите класс, чтобы отобразить его члены (свойства, методы и константы). Обратите внимание на нижнюю часть окна, где дается дополнительная информация об объекте. Вы можете нажать <F1>, чтобы перейти непосредственно к необходимому разделу справочной системы. Система Object Browser может сначала показаться сложной, но, изучив ее вы убедитесь в ее незаменимости.
Как было отмечено во врезке в одном из предыдущих разделов этой главы, окно Immediate в VBE используется для тестирования операторов и проверки разных выражений VBA. Рекомендуется отображать окно Immediate, так как оно часто используется для про- верки выражений и при отладке кода.
Примеры на использование VBA в среде Excel
Объектная модель Объектная модель MS Excel представляет собой иерархию объектов, подчиненных одному объекту Application, который соответствует самому приложению Excel. Многие из этих объектов собраны в библиотеке объектов Excel, но некоторые из них, например, объект Assistant, входят в библиотеку объектов Office, которая является общей для всех офисных приложений.
Объект Application Объект Application — это главный (корневой) объект в иерархии объектов MS Excel, представляющий само приложение MS Excel. Он имеет огромное число свойств и методов, которые позволяют установить общие параметры приложения MS Excel.
Свойства объекта Application Объект Application, благодаря обширной коллекции свойств, позволяет программно установить значения многих опций окна Параметры, отображаемого при выборе команды Сервис - Параметры. Кроме того, он обеспечивает доступ к объектам верхнего уровня типа ActiveCell, ActiveSheet и т.д. Перечислим основные свойства этого объекта: ActiveCell ActiveChart AcfcivePrinter ActiveSheet ActiveWorkBook AddIns CellDragAndDrop Charts Cursor DefaultFilePath DefaultWebOptions DisplayAlerts DisplayFormulaBar DisplayScrollBars EditDirectlylnCell FileSearch Height LibraryPath MemoryTotal Names Organ i zat ionName ProductCode Referencestyle Selection StatusBar Top UsableWidth Version Windows WorksheetFunction
Семейство встроенных диалоговых окон Свойство Dialogs возвращает семейство всех встроенных диалоговых окон. Параметр этого семейства идентифицирует ОКНО, метод Show отображает его на экране, а параметры этого метода задают параметры, специфицируемые в отображаемом окне. Метод show возвращает значение True, если задача, поставленная в отображаемом окне, была выполнена успешно. Например, следующий код (листинг 2) отображает окно Открытие документа для открытия книги C:\test.xls. Листинг2. Открытие книги при помощи встроенного окна Sub DemoDialogs() Dim idx As Long idx = Application.Dialogs (xlDialogOpen).Show("с: \test.xls") If idx Then MsgBox "Файл открыт" Else MsgBox "Файл не открыт" End If End Sub.
Объект FileDialog Объект FileDialog, возвращаемый свойством FileDialog объекта Application, предоставляет в распоряжение разработчика диалоговые окна Открыть и Сохранить как. Свойство FileDialog имеет один параметр DiaiogType. задающий тип окна. У этого параметра имеются четыре допустимых значения: msoFileDialogFiiePicker — позволяет пользователю выбрать файл; msoFileDialogFolderPicker — позволяет пользователю выбрать папку; msoFileDialogopen — позволяет пользователю открыть выбранный файл. Открытие файла производится методом Execute; msoFileDialogsaveAs — позволяет пользователю сохранить файл. Сохранение файла производится методом Execute.
Для отображения окна, симулируемого объектом FileDialog, необходимо воспользоваться методом show. Этот метод возвращает значение 0, если нажата кнопка Отмена и значение -1, если нажата другая функциональная кнопка. Для окон Открыть и Сохранить как после применения надо воспользоваться методом Execute для реализации выбранной команды. И в следующих трех примерах демонстрируется техника сохранения и загрузки файла при помощи окон, имеющих типы msoFileDialogFilePicker (ЛИСТИНГ3), msoFileDialogOpen (ЛИСТИНГ 4) И msoFileDialogSaveAs (ЛИСТИНГ 5). Листинг 3. Загрузка файлов с помощью окна msoFiieDiaiogFiiePicker Sub LoadFiles() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) Dim itm As Variant With fd If.Show = -1 Then For Each itm In.Selectedlterns Workbooks.Add itm Next End If End With Set fd = Nothing End Sub
Листинг 4. Загрузка файла с помощью окна msoFileDialogOpen Sub LoadFile() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogOpen) If fd.Show = -1 Then fd.Execute Else MsgBox "Выбрали отмену" End If Set fd = Nothing End Sub.
Листинг 5. Сохранение файла с помощью окна msoFileDialogSaveAs Sub SaveFile() Dim fd as FileDialog Set fd=Application.FileDialog(mso FileDialogSaveAs) If fd.Show= -1 then Fd.Execute End Sub.
Поиск файлов Свойство FileSearch объекта Application возвращает объект FileSearch, который инкапсулирует и себе свойства и методы,реализующие поиск специфицированного файла на диске. Перечислим основные свойства объекта FileSearch: - свойство LookIn возвращает или устанавливает каталог, в котором производится поиск. - свойство FileType возвращает или устанавливает тип искомого файла. Его допустимым значением может быть одна из следующих констант: msoFileTypeAllFiles msoFileTypeCalendarItems msoFileTypeCustom msoFileTypeDataConnectionFiles msoFileTypeDocumentImagingFiles msoFileTypeJournaItem msoFileTypeNoteItems msoFileTypeOutLookItems msoFileTypePowerPoint msoFileTypeTemplates msoFileTypeWebPages msoFileTypeBindere msoFileTypeContactItems msoFileTypeDataBases msoFileTypeMailItems msoFileTypeOfficeFile msoFileTypeTarkItems msoFileTypeVisioItems msoFileTypeWordDocuments
- свойство FoundFile возвращает объект FoundFiles, представляющий собой список имен всех найденных в течение поиска файлов. Метод Execute объекта Application производит непосредственный поск. Он возвращает целое число, причем, если оно равно 0, то ни одного файла не было найдено, а если положительное, то найден, по крайней мере, один файл.
Листинг 6. Поиск рабочих книг в корневом каталоге диска С With Application. FileSearch .LookIN = “C:\” .FileType= msoFileTypeExcelWordBooks If.Execute (SortByFileName._ Sortorder: msosoftorderabcending)>0 Then Dim str As string Str = “Найдено” &.FoundFile.Count & “ Dim I as integer Int= I to FoundItem.Count Str= str &. FoundFile (i) & vthcr Next MsgBox str Else MsgBox “Рабочие книги не найдены” End if End with
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|