Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Свойства и методы объектов Options, Dialogs, Selection и Range объектной модели MS Word




Примеры процедур на определение списка всех панелей инструментов и тем главного меню MS Word.

End Sub

End Sub

Quit

End With

Set vWord= Nothing

'Разрываем связь объекта с приложением Word

MsgBox "Количество слов в тексте= " &_

CStr (wordCount)

Private Sub Form_Load()

Text1 = "":Command1.Caption = "Word"

Text1.TabIndex = 0

Caption= "Работа с объектом-серверомMS Word"

Функция CreateObject динамически создает новый объект на базе класса Word.Application (он загружается в память). Программа также будет работать, если вместо этой строки записать:Set vWord= New Word.Application, Но только перед запуском программы необходимо самим загрузить в память библиотеку MS Word11.0 Object Library командой Project\References. В процессе выполнения программа проверки орфографии выявит ошибки и предложит возможные варианты. После того, как Вы выберите правильный вариант исправления или сами исправите ошибку, или ее пропустите, окно MSWord закроется и результат вернется уже без ошибок с подсчетом количества слов и других атрибутов текста.


если из окна Ms Word открыть окно VBA (ALT+F11, Сервис\ Макрос\Редактор VB), сформировать окно кода модуля (Insert\Module), записать в нем, а затем запустить

(F5,Run\Run 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


Основной частью документа 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:





Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 512; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.