9 Июнь 2008

Вопрос 1 Написать макрос, изменяющий начертание первого слова в каждом абзаце на курсивное.

sub Cursiv()
dim i as integer
for i=1 to ActiveDocument._Paragraphs.count
ActiveDocument.Paragraphs(i)._range.words(1).italic=true
next i
end sub

5. Объектная модель Excel

Основой объектной модели Excel является объект Worksheet, представляю­щий один рабочий лист в файле. Каждый объект Worksheet является частью коллекции Worksheets, которая принадлежит объекту Workbook, представляю­щему файл рабочей книги Excel. Так как в приложении Excel одновременно мо­жет быть открыто несколько рабочих книг, существует также и коллекция Workbooks, содержащая по одному объекту Workbook на каждый открытый файл. Как и во всех приложениях пакета Office, объект Application находится в вершине иерархии объектов и доступен в качестве неявной ссылки при работе в Excel.

Существует еще один тип листов в рабочих книгах Excel — лист диаграммы (объект Chart) — особая таблица, которая содержит только диаграмму. Коллек­ция Charts объекта Application реализует доступ ко всем диаграммам всех от­крытых файлов, а коллекция charts объекта Workbook — только к диаграммам данной рабочей книги. Диаграммы также могут быть внедрены в рабочие листы вместо того, чтобы иметь собственный лист. Такие диаграммы не являются ча­стью коллекции charts, а вместо этого доступны в составе коллекции Chartob-jects объекта Worksheet. Коллекция Sheets осуществляет доступ ко всем рабо­чим листам, как к таблицам, так и к диаграммам.

Большая часть того, что вы делаете в Excel, связана с объектом Range. Хотя имя этого объекта не отличается от своего двойника в приложении Word, их со­ставы различны. Однако его функции практически те же: обрамление части до­кумента, с которым производится работа. Диапазоном может выступать отдель­ная ячейка, двумерный блок ячеек на рабочем листе или трехмерный блок яче­ек, охватывающий несколько рабочих листов.

Еще одной важной составной частью объектной модели Excel является объект Chart. Существует один объект chart, содержащийся в коллекции charts для каждой диаграммы в рабочей книге. Каждому объекту Chart подчинено множе­ство объектов, представляющих составные части диаграммы, такие как оси и ле­генда.

1. Объектная модель Word

Приложение Word предназначено для создания документов, которые затем могут быть распечатаны или помещены на странице в Интернет. В приложении все вращается вокруг концепции документа, которым может быть все, что угодно — от 2-строчной записки, до 500-страничного многотомного отчета. Ос­новными функциями приложения Word является ввод и редактирование текста, форматирование внешнего вида текста и его размещения на странице, помеще­ние текста в колонки и таблицы. Также поддерживаются особые элементы, такие как верхние и нижние колонтитулы, номера страниц, индексы, и таблицы. Word также имеет встроенный словарь для проверки правописания и орфогра­фии и тезаурус для нахождения синонимов. Если ваше приложение должно ра­ботать с текстом, вам следует, прежде всего, посмотреть на среду приложения Word.

Истории в документе

Каждый документ Word состоит из некоторого количества историй, которые представляют разные части документа: основной текст, первую страницу, заго­ловок, примечания и т.д. Каждая история представлена объектом Range, содер­жащим ее. Доступ к историям можно получить посредством коллекции sto-ryRanges, которая принадлежит объекту Document. В отличие от других кол­лекций, StoryRanges не имеет метода Add. Истории создаются автоматически и помещаются в коллекцию, когда в них появляется некоторое содержание. Одна­ко главная текстовая история существует независимо от того, содержит она текст или нет. Для ссылок на разные истории служат следующие константы.

WdCommentsStory (комментарии);

WdEndNotesStory (примечания);

WdEvenPagesFooterStory (нижний колонтитул нечетных страниц);

WdEvenPagesHeaderStory (верхний колонтитул нечетных страниц);

WdFirstPageFooterStory (нижний колонтитул первой страницы); WdFirstPageHeaderStory (верхний колонтитул первой страницы); WdFootNotesStory (сноски); wdMainTextstory (основной текст);

WdPrimaryFooterStory (основные нижние колонтитулы); WdPrimaryHeaderStory (основные верхние колонтитулы); WdTextFrameStory (рамки).

Ссылку на конкретную историю можно получить следующим образом:

Dim StoryRange as Word.Range

Set StoryRange=MyDoc.StoryRanges (StoryType)

Здесь StoryType — одна из вышеперечисленных констант. Но если заданная история не присутствует в документе, возникает ошибка. Эту ошибку можно пе­рехватить но все же во избежание этой потен­циальной проблемы следует пройти в цикле по коллекции StoryRanges, чтобы проверить, существует ли данная история:

Dim StoryRange as Word.Range

Dim R As Word.Range

Dim StoryExists As Boolean

StoryExists=False

For Each R In MyDoc.StoryRanges

If R.StoryType=wdPrimaryHeaderStory Then Set StoryRange=R StoryExists=True

End If Next R If Not StoryExists Then

MsgBox (”The Primary Header Story does not exists.”) End If

А вот фрагмент программы, который добавляет текст “Compiled by R.Smithв конец существующего текста в основных нижних колонтитулах:

Dim R As Word.Range

Dim S As String

For Each R In ActiveDocument.StoryRanges

If R.StoryType=wdPrimaryFooterStory Then

S=R.Text End If Next R

ActiveDocument.Selections (1).Footers _ (WdPrimaryFooterStory). _ Range.Text=S & “Compiled by R.Smith”

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress