Примеры процедур на определение списка всех панелей инструментов
30. Примеры процедур на определение списка всех панелей инструментов и тем главного меню MS Word.
если из окна Ms Word открыть окно VBA (ALT+F11, Сервис МакросРедактор VB), сформировать окно кода модуля (InsertModule), записать в нем, а затем запустить
(F5,RunRun Sub) на выполнение следующий макрос, то вы получите в окне Immediate полный список всех панелей инструментов и меню MS Word
Sub Menu Bars()
Dim nBar As CommandBar, s As String, i As Long
s=1 & vbTab & _
Application. CommandBars. ActiveMenuBar. Name & vbCrLf
i=2
For Each mBar In CommandBars
s=s & i & vbTab & mBar. Name & vbCrLf
i=i+1
Next
Debug. Print s Вывод осущ-ся в окно Immediate
End Sub
если в том же окне модуля VBA MS Word записать, а затем запустить на выполнение следующий макрос, то вы получите в окне MsgBox полный список тем главного меню
Sub MainMenuCommand()
c=Application. CommandBars. ActiveMenuBar. Controls._Count
For i=1 To c
s=s & Application. CommandBars. ActiveMenuBar._Controls(i).Caption & vbCrLf
Next
MsgBox s End Sub
32. Свойства и методы объектов Options, Dialogs, Selection и Range объектной модели MS Word.
Основной частью документа Word является, конечно, текст этого документа. Уже было сказано, как структурирован текст документа, рассмотрены коллекции — Characters, Words, Sentences, Paragraphs, которые позволяют работать с символами, словами, предложениями и абзацами текста. Говорил я также и о том, что только этими коллекциями не обойтись, и необходим общий класс объектов, позволяющий задать произвольную область текста. Таковыми являются два важных класса Range и Selection. Объекты этих классов широко используются при работе с текстом. Документы, поддокументы, разделы, все вышеупомянутые коллекции от Characters до Words имеют метод или свойство Range, возвращающие в качестве результат объект Range. Каждый объект Range задает область определения некоторого объекта, включая текст и все объекты, связанные с этим текстом — комментарии, ссылки и прочее. Так, если некоторый объект вызвал метод Range, то возвращаемый объект Range будет содержать область определения объекта, вызвавшего метод. Объект Selection представляет выделенную область. Поскольку в каждом окне может быть только одна выделенная область, то одновременно может существовать лишь несколько объектов Selection по одному на каждое существующее окно или подокно. Заметим также, что, объект Selection всегда существует в окне, даже если и не сделано явного выделения некоторой области, в последнем случае объект Selection задает точку вставки, определенную позицией курсора. Объект Document имеет метод Range, возвращающий объект Range, и метод Select, создающий объект Selection. Метод Range — это функция, возвращающая в качестве результата объект Range; метод Select — это процедура без параметров, которая создает объект Selection в качестве побочного эффекта. Заметьте существенную разницу между методами Range и Selection. В первом случае возвращается сам объект и поэтому можно запомнить возвращаемый объект и в программе одновременно работать с несколькими такими объектами. В случае вызова метода Selection объект не возвращается, следовательно, запомнить его нельзя, что и гарантирует уникальность объекта Selection. Объект Range имеет метод Select, выделяющий область объекта Range, и определяющий, тем самым, новый объект Selection. Симметрично, объект Selection имеет свойство Range, возвращающее объект Range, соответствующий выделенной области. Объекты Range и Selection столь же многообразны по своей структуре, как и объект Document. И даже большинство свойств у этих трех объектов одни и те же. Эти три объекта являются схожими. Это понятно, так как большинство частей документа: предложения, абзацы, разделы, таблицы, рисунки, комментарии, ссылки и многое другое — может составлять любую подобласть документа, в том числе и выделенную подобласть. Значит, большинство ранее описанных частей документа являются и частями (свойствами) объектов Range и Selection. Это приятно — ведь с большинством свойств этих объектов мы уже знакомы!
Объект Range напоминает матрешку: в каждую область вложена область поменьше. Вот пример корректного (хоть и не самого эффективного) задания объекта Range:
33. Объекты, свойства и методы семейства CommandBars
Коллекция CommandBars объектов типа CommandBar является частью объектной модели MS Office. Полная модель MS Office представлена в файле VBAOFxx. CHM, а полные модели приложений MS Excel и MS Access –в файлах VBAXLxx. CHM, VBAACxx. CHM.
В семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения. Например,
Application. CommandBars(“Formatting”).Visible=False,
Application. CommandBars(“MenuBar”).Enabled=False,
Application. CommandBars. Visible=True –отобразить все панели
Объект CommandBar также используется для программиро-вания новых строк меню и панелей инструментов с помощью метода Add.
Объект CommandBar содержит семейство Command Bar Controls, содержащее все элементы управления данной панели инструментов.
Свойство Controls объекта CommandBar возвращает семейство CommandBarControls.
Метод Add объекта CommandBarControl создает команду меню.
Объектами семейства CommandBarControls являются:
•CommandBarButton–кнопка или элемент меню, вызывающий выполнение команды или подпрограммы;
•CommandBarComboBox–сложноорганизованные меню, такие как поле ввода, раскрывающийся список или поле со списком;
•CommandBarPopUp–меню или вложенное меню.
CommandBars объектов типа CommandBar яв-сся частью объектой модели Ms Office CommandBar(s):CommandBarControl(s)-1/CommandBarButton 2/CommandBarComboBox 3/CommandBarPopUp
полная модель Ms Office представлена в файле VBAOFxx. CHM, а полные модели приложений MS Excel и MS Access-в файлах VBSXLxx. CHM, VBAACxx. CHM.
в семействе CommandBars хранятся все строки меню и панели инструментов конкретного приложения. н-р
Application. CommandBars("Formatting").Visible=False,
Application. CommandBars("Menu Bar").Enabled=False,
Application. CommandBars. Visible=True-отобразить все панели.
Стандартная(Standard),Форматирование(Formatting),VB, Рисование(Drawing),Веб-узел(Web),WordArt, Диаграммы(Chart),Настройка изображения(Picture),
строка меню листа(WorkSheet Menu Bar) Сводные таблицы(PivotTable)эл-ты упр-я(Control Toolbox),формы(Forms),Буфер обмена(Clipboard),строка меню диаграммы(Chart Menu Bar)
Объект CommandBar также исп-ся для программирования новых строк меню и панелей нструментов с помощью метода Add.
Объект CommandBar содержит семейство CommandBaControls, содержащее все эл-ты упр-ия данной панели инструментов.
Семейство Controls объекта CommandBar Возвращает семейство CommandBarControls. метод Add объекта CommandBarControl создает команду меню. Объектами семейства CommandBarControls яв-ся
1.CBButton-кнопка или элемент меню, вызывающий выполнение команды или подпрограммы
2)CBComboBox-сложноорганизованные меню, такие как поле ввода, раскрывающийся список или поле со списком объектной модели MS Office.
3)CBPopUp-меню или вложенное меню.
34. Объекты и семейства объекта VBE
Объекты VBE. Для полного представления о возможностях управления приложением Excel из внешних программ этого недостаточно. Объектная модель Excel позволяет управлять не только элементами создаваемых документов, но и элементами программ на встроенном языке. Для доступа к элементам программ используется объект VBE. Родительским объектом для VBE является Application (Application. VBE), a свойства и методы самого объекта VBE позволяют полностью управлять приложениями Visual Basic из внешних программ. Объект VBE включает в себя коллекции проектов, областей программ, элементов управления и коллекцию окон редактора. Очевидно, что, используя перечисленные ссылки, можно получить доступ к элементам этих коллекций и к их свойствам. Кроме этих коллекций объект VBE включает ссылки на активные элементы этих коллекций и собственные свойства. Собственным свойством является строка, содержащая номер версии редактора. В конечном итоге нам в целях разработки эффективных приложений достаточно будет получить доступ к текстам макросов. Для того чтобы создать новые или изменить уже существующие программные модули VB, используем свойства VBE, представленные в таблице 1.
Таблица 1. Свойства объекта VBE |
||
Свойство |
Тип |
Назначение |
Version |
Строка |
Версия |
ActiveCodePane |
Объект |
Ссылка на активный модуль |
ActiveVBProject |
Объект |
Ссылка на активный проект |
ActiveWindow |
Объект |
Ссылка на активное окно |
CodePanes |
Объект |
Ссылка на коллекцию модулей |
CommandBars |
Объект |
Ссылка на коллекцию элементов управления Узнать стоимость за 15 минутРаспродажа дипломныхСкидка 30% по промокоду Diplom2020 Подпишись на наш паблик в ВКНужна работа?Закажи контрольную работу у наших партнеров |