Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Листинг 8. Работа со списками

Списки

Листинг 7. Добавление рисунков в коллекции

Public Sub AddTwoShapes() ‘добавляются рисунки в коллекцию Shapes и InlineShapes Dim item As AutoCaption Dim MyPath As String Documents("DocOne").Activate MyPath = ActiveDocument.Path ‘Отключим вставку автозаголовока для рисунков Set item=Word.Application.AutoCaptions("Microsoft Word Picture") item. _ AutoInsert = False With ActiveDocument ‘Рисунок добавляется а коллекцию Shapes.Shapes.AddPicture FileName:=MyPath & "\cat.bmp" ‘Рисунок добавляется в коллекцию InlineShapes ‘привязывается к первому параграфу документа..InlineShapes.AddPicture FileName:=MyPath & "\mouse.bmp", _ Range:=.Paragraphs.First.Range End WithEnd Sub

Кошку (cat.bmp) можно перемещать по документу, а мышка (mouse.bmp) "привязана". Обратите внимание еще на одну особенность этой процедуры: перед вставкой рисунков пришлось отключить автоматическое добавление заголовка из-за небольших "жучков" в Office 2000. При работе метода AddPicture в Office 2000 появляются два небольших "жучка", если для рисунков включен автозаголовок "Microsoft Word Picture". Во-первых, неверен текст заголовка, сопровождающего рисунок, – он уведомляет о вставке таблицы (Таblе). Во-вторых, для объекта Shape текст заголовка закрывает сам рисунок.

Коллекции Lists (List), ListParagraphs (ListParagraph), ListTemplates (ListTemplate) используются при работе со списками. Списки широко применяются в документах всякий раз, когда приходится иметь дело с перечислением, скажем, пунктов повестки дня или деталей какого-либо механизма или объекта. Списки можно оформлять в соответствии с некоторым шаблоном.

Существуют две группы шаблонов: нумерованные списки и маркированные списки. Коллекция ListTemplates содержит шаблоны оформления списков, а класс ListTemplate описывает конкретный шаблон. Он применяется к списку абзацев и придает ему структуру, заданную шаблоном. Коллекция Lists содержит те списки документа (списки абзацев), которые оформлены как нумерованные или маркированные списки. Коллекция ListParagraphs представляет список абзацев всех списков документа. Свойством ListParagraph, которое возвращает объект соответствующего класса, обладает не только документ, но и объекты List и Range. Так что при наличии списка, объекта List, можно выделить список его абзацев. Чаще приходится выполнять обратную операцию – применять к списку абзацев один из возможных шаблонов, придав ему "настоящую" структуру списка. Тогда используют объект ListFormat. Применение объекта ListFormat показано в листинге 8 (см. здесь).

Public Sub WorkWithLists() ‘работа со списками ‘Открываем документ DocTwo Dim MyPath As String Dim myRange As Range MyPath = Documents("DocOne").Path ‘должен быть открыт Documents.Open MyPath & "\DocTwo.doc" Documents("DocTwo").Activate With ActiveDocument Debug.Print "Списков в документе - ",.Lists.Count Debug.Print "Они занимают -",.ListParagraphs.Count," абзацев" ‘Создаем новый список Set myRange =.Range(Start:=.Paragraphs(3).Range.Start, _ End:=.Paragraphs(6).Range.End) myRange.ListFormat.ApplyBulletDefault Debug.Print "Теперь списков -",.Lists.Count Debug.Print "Они занимают - ",.ListParagraphs.Count," абзацев" 'Повторное применение отменяет форматирование myRange.ListFormat.ApplyBulletDefault Debug.Print "Теперь списков -",.Lists.Count Debug.Print "Они занимают - ",.ListParagraphs.Count, " абзацев" End WithEnd Sub

Заметьте, что для того чтобы отменить форматирование совокупности абзацев как списка, применяется тот же метод ListFormat. Результаты отладочной печати данной процедуры таковы:

Списков в документе - 1Они занимают - 3 абзацевТеперь списков - 2Они занимают - 7 абзацевТеперь списков - 1Они занимают - 3 абзацев

Вначале в документе был один список из трех пунктов. Затем выделили некоторую область (4 абзаца), создали связанный с ней объект ListFormat и применили к нему шаблон маркированного списка, задав метод ApplyBulletDefault. В результате появился еще один список заданной структуры из четырех пунктов, что подтверждает отладочная печать, и это можно видеть при поэтапном выполнении этой программы. Заметьте, что список абзацев теперь содержит все абзацы обоих списков. Использование объекта ListParagraphs может быть весьма полезным в ряде случаев, когда необходимо обработать все списки документа или его части. Заметьте: для отмены форматирования абзацев в виде списка использовали тот же оператор, что и для включения форматирования.

Еще один пример:

<== предыдущая лекция | следующая лекция ==>
Листинг 6. Создание и добавление картинок в документ | Комментарии. Комментарии, сноски, правка, закладки
Поделиться с друзьями:


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


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



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




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