Главная страница

Базы данных ворд. Access. Взаимодействие приложений. Часть Интеграция с Office 2000


Скачать 0.56 Mb.
НазваниеAccess. Взаимодействие приложений. Часть Интеграция с Office 2000
АнкорБазы данных ворд
Дата17.01.2022
Размер0.56 Mb.
Формат файлаdoc
Имя файлаAutomation2.doc
ТипРассказ
#333901
страница2 из 5
1   2   3   4   5

'Код для выполнения при открытии документа


End Sub

Microsoft Forms

Офисные программные продукты, включая Word, Excel и PowerPoint, содержат отдельный пакет форм, который называется Microsoft Forms. Иногда, например, при использовании других приложений, эти формы могут пригодиться.

Разработчики, знакомые с формами Access, не встретят никаких сложностей при использовании Microsoft Forms. Для создания формы Microsoft необходимо выполнить следующие действия. В меню редак­тора Visual Basic нужно выбрать пункты Insert | User Form (Вставка | Форма пользователя) или нажать клавиши Shift+F7. Для добавления элемента управления необходимо воспользоваться панелью элементов управления. В качестве ответа на использование элемента управления и события формы можно создать код VBA, кроме того, к форме можно добавить элементы управления ActiveX.

СОВЕТ

Формы MicrosoftForms отличаются от форм в Access, VisualBasic и Outlook. Это отдельные пакеты форм. Например, невозможно преобразовать форму Access в форму MicrosoftForm либо наоборот.

Браузер объектов

При работе с разными приложениями, описанными в данной статье, не следует забывать использовать браузер объектов. Подробно использование браузера объектов описано в предыдущей части.

Для использования браузера объектов в редакторе Visual Basic необходимо в меню выбрать команды View | Object Browser (Вид | Браузер объектов) или нажать клавишу F2 (рис. 5).

РИСУНОК 5. Браузер объектов, отображающий объекты MicrosoftWord
Аргументы классов для приложений Office

Для автоматизации совместно с другими приложениями необходимо знать аргументы классов:

Приложение


Аргумент класса

Access


Access.Application

Binder

Office.Binder

Excel

Excel.Application

Excel.Sheet

Excel.Chart

Frontpage

Frontpage.Application

Graph

Graph.Application

MapPoint

MapPoint.Application

Outlook

Outlook.Application

PowerPoint

PowerPoint.Application

Word


Word.Application

Word.Document


Пример использования метода автоматизации

Основные сведения по реализации автоматизации (автоматизация Word, создание или получение ссылки на Word, использование объектов Word и освобождение объекта автоматизации) приведены в предыду­щей части.

Приведенный ниже пример печати информации Access в отчете Word иллюстрирует все, вкратце описанные выше методы автоматизации. Не забудьте установить ссылку на Microsoft Word.
Private Sub AccessApplicationReport()

Dim objWord As Word.Application

DoCmd.Hourglass True

'При возникновении ошибки перейти на следующую строку.

On Error Resume Next

'Попытка установить ссылку на Word, который уже открыт.

Set objWord = Get0bject(, "Word.Application")

' Если истинно, значит, Word не открыт.

If objWord Is Nothing Then

'Запуск новой копии приложения Word.

Set objWord = New Word.Application

'Если истинно, значит, MS Word 8.0 не установлен.

If objWord Is Nothing Then

MsgBox "MS Word 8.0 is not installed on your computer"

End If

End If

'При возникновении ошибки перейти к обработке ошибок

'(Здесь записывается код ErrorHandler)

'Открытие нового документа Word на основе ••блока "Normal.dot".

ObjWord.Documents.Add

'Активизация Word.

objWord.Activate

'Отобразить Word для пользователя.

objWord.Visible = True

'Создание заголовка отчета.

With objWord.Selection

.TypeText vbTab & vbTab & "Access Application Report"

.StartOf Unit:=wdStory, Extend:=wdExtend

.Font.Bold = True

.Font.Size = 20

.EndKey Unit:=wdLine

.TypeParagraph

.TypeParagraph

.Font.Bold = False

.Font.Size = 16

End With

'Запись информации о данном приложении Access в документ Word.

With objWord.Selection

.TypeText "Application Item" & vbTab & "Value" & vbCrLf

.TypeText "Database Name and Path" & vbTab & _

Application.CurrentDb.Name & vbCrLf

.TypeText "Current Form Name" & vbTab & Forms.Item(0).Name & vbCrLf

.TypeText "Current Active Object" & vbTab & _

Application.CurrentObjectName & vbCrLf

.TypeText "Current User Name" & vbTab & Application.CurrentUser & vbCrLf

.TypeText "Current Jet Version" & vbTab & _

Application.DBEngine.Version & vbCrLf

.TypeText "Application Compiled" & vbTab s Application.IsCompiled & vbCrLf

.TypeText "Number of References" & vbTab &

Application.References.Count & vbCrLf

.TypeText "Current Mouse Pointer" & vbTab &

Application.Screen.MousePointer & vbCrLf

.TypeText "User Control" & vbTab & Application.UserControl & vbCrLf

.TypeText "Application Visible" & vbTab & Application.Visible & vbCrLf

.StartOf Unit:=wdStory

.MoveDown Unit:=wdLine, Count:=2

.StaxtOf Uni t:=wdLine

.EndOf Unit:=wdStory, Extend:=wdExtend

.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2, _

NumRows:=11, Format:=wdTableFormatColorful2, _

ApplyBorders:=True, ApplyShading _

:=True, ApplyFont:=True, ApplyColor:=True, ApplyHeadingRows:=True, _

ApplyLastRow:=False, ApplyFirstColumn:=False, ApplyLastColumn:=False, _

AutoFit:=True, AutoFitBehavior:=wdAutoFitFixed

.EndOf Unit:=wdStory

End With


'Отключить маркеры параграфов. objWord.ActiveWindow.ActivePane.View.ShowAll = False

DoCmd.Hourglass False

'Освобождение объектной переменной.

Set objWord = Nothing

End Sub


Автоматизация Word

В данном разделе описаны способы и приведены примеры автоматизации Microsoft Word.

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

Код, приведенный в предыдущем примере, включает все модули, необходимые для осуществления автоматизации приложения. Теперь рассмотрим имеющиеся в Word объекты, свойства и методы. Для это­го очень удобно воспользоваться объектной моделью.

Объектная модель — это представление (в виде схемы) объектов приложения. Объектная модель пред­ставляет собой быстрый и удобный способ определения доступности тех или иных объектов приложения для программирования, управления и манипулирования ими.

СОВЕТ

Диаграмма объектной модели Word приведена в файле интерактивной справки "Объекты MicrosoftWord".

Объектная модель Word весьма наглядна. С помощью VBA можно манипулировать более чем 180 объек­тами Word. Часто используемые объекты Word приведены в табл. 1. Названия объектов, содержащих коллекции, заканчиваются на -s.

Таблица 1. Объекты Word.

Объект Word

Описание

Application

Приложение Word в целом. Обычно нет необходимости ссылаться на объект приложения из Word. Данный объект используется при автоматизации Word из другого приложения

AutoCaption(s)

Заголовок, который может быть добавлен автоматически.

AutoCorrect

Средства автоматической проверки правописания в Word.

Character

Символы в открытом документе.

CommandBar(s)

Отдельная панель команд, обращение к которой происходит по номеру индекса либо по имени.

DefaultWebOptions

Установки, определенные по умолчанию для публикации или сохранения Web-страницы.

Dialog(s)

Встроенное диалоговое окно.

Dictionary(s)

Словарь в Word.

Document(s)

Открытый документ, обращение к которому происходит по номеру индекса или по имени.

Email

Сообщение электронной почты для документа.

EmailSignature

Информация об электронной подписи.

Find

Объект, использующийся для поиска слова, выделения, диапазона и т.п.

Paragraphs

Коллекция абзацев.

Range

Определенные точки начала и окончания диапазона в документе. В документе может Word. Данный объект используется при автоматизации Word из другого приложения




Объект Word

Описание


Replacement

Объект, указывающий критерий отбора для замены

Selection

Текущее выделение в Word. В один данный момент времени в Word может существовать лишь одно выделение.

Table(s)

Отдельная таблица в документе.

Template(s)

Шаблон документа.

WebOptions

Установки, отменяющие DefaultWebOptions.

Window(s)

Отдельное окно, обращение к которому происходит по номеру индекса либо по имени.

Words

Набор слов.


Использование шаблонов Word

Из предыдущей части известно, что код автоматизации быстрее всего выполняется на сервере авто­матизации. Другими словами, при автоматизации объектов, свойств и методов Word код VBA должен быть помещен в шаблоны Word, а не скопирован в Access.

Для создания шаблона Word необходимо открыть новый документ Word. Для сохранения документа в качестве шаблона документа (с расширением .DOT) после добавления всего кода в меню следует выб­рать команды File | Save As (Файл | Сохранить как).

Для добавления кода в шаблон необходимо записать макрос (см. предыдущий раздел данной статьи). Следует начать запись, выполнить действия, которые должны быть автоматизированы, и код VBA будет записан.

Как вызвать код VBA в Word из Access? Очень просто. Следует воспользоваться методом Run. Соответ­ствующий код приведен ниже:

'Выполнение в Word макроса, форматирующего документ.

objWord.Run "FormatDocument"

Выполнение кода в Word происходит гораздо быстрее, поскольку отпадает необходимость в перекре­стной связи для каждой инструкции автоматизации. Если код находится в Word, код VBA выполняется в рамках одного процесса.

СОВЕТ

В программном коде для данной статьи приводятся примеры, показывающие один и тот же код автоматизации в Access и в шаблоне Word. Программный таймер демонстрирует разницу в быстродействии кода. Размещение кода автоматизации в Word значительно ускоряет выполнение,

Хотя код, помещенный в шаблон Word, выполняется гораздо быстрее, не станет ли он причиной появления проблем, связанных с распространением? При правильном подходе — нет. Шаблоны могут быть сохранены либо на каждой рабочей станции, либо как шаблоны рабочей группы на сервере. Преимуще­ства сохранения шаблонов как шаблонов рабочей группы заключаются в том, что при внесении измене­ний в шаблон или добавлении нового шаблона достаточно скопировать изменения в общий каталог на сервере. Однако при использовании шаблонов возрастает сетевой трафик. Для устранения подобных про­блем некоторые разработчики создают простые приложения, которые при их запуске копируют шаблоны с сервера на каждую рабочую станцию.

Для обеспечения пользователей доступом к шаблонам рабочей группы (на сервере) необходимо выб­рать в меню команды Tools | Options ( Сервис | Параметры). Во вкладке File Locations (Расположение) следует указать путь к шаблонам рабочей группы (рис. 6).

РИСУНОК 6. Вкладка FileLocations в окне параметров Word.
Вставка данных в документы Word

Приложение Word прекрасно приспособлено для создания отчетов. Корпоративные данные могут быть представлены в документах Word, с которыми могут работать конечные пользователи. Ниже приведен пример объявления в журнале, которое включает корпоративные данные (рис. 7).

РИСУНОК 7. Создание отчетов в Word.
Для передачи данных из баз данных Access или SQL Server в документ Word существует три инстру­ментальных средства: Mail Merge (Слияние), Bookmarks (Закладки), Find and Replace (Поиск и замена). Код, приведенный в данной статье, иллюстрирует все три методики.
Слияние

Конечные пользователи часто используют метод слияния для составления документов. Кроме того, методом слияния можно воспользоваться при автоматизации.

Из трех упомянутых способов автоматизации Word слияние является самым предпочтительным способ интеграции данных.

Для создания кода автоматизации слияния необходимо включить запись макроса и выполнить слияние так, как это делал бы конечный пользователь. В меню следует выбрать команды Tools j Mail Merge (Сер­вис | Слияние), а затем выполнить указания, отображенные в диалоговом окне помощника по слиянию.

При выборе источника данных для документов слияния можно выбрать таблицу Access или запрос. Если вначале переслать данные в RTF-файл, а затем использовать данный файл в качестве источника данных, код автоматизации будет выполняться значительно быстрее. Несколько примеров такого подхода приве­дено в коде данной статьи.

Ключевым преимуществом технологи слияния является то, что конечные пользователи могут сами вставлять поля данных в документ. В документе пользователи могут вставлять поля из панели инструмен­тов Mail Merge. Это позволяет пользователям создавать собственные документы и освобождает разработ­чиков от необходимости создания отчетов. При правильном подходе к разработке для полей данных, которые могут понадобиться пользователям для создания собственных отчетов Word, можно использовать шаблоны (рис. 8).

РИСУНОК 8. Пользователи могут создавать отчеты Word

В файле Automation. MDB приведен код шаблона, используемый для выполнения слияния.
Private Sub RunMailMerge()

With ActiveDocument.MailMerga

.MainDocumentType = wdFormLetters

ActiveDocument.MailMerge.OpenDataSource Name:= _

"C:\Automation\Automation.MDB", ConfirmConversions:=False, _
Readonly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _

WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _

Connection:="QUERY qryEmployeeLetters", SQLStatement:= _

"SELECT * FROM [qryEmployeeLetters]", SQLStatementI:=""

.Destination = wdSendToNewDocument

.Execute

End With

End Sub

Закладки

Еще один способ вставки данных в документы Word — использование Bookmarks (закладок). Закладка в документе — это указатель на место, куда впоследствии можно вставить данные. При выполнении кода рассматривается каждая закладка, и соответствующие данные вставляются в указанное место.

Одним из недостатков закладок является то, что разработчики должны сами вставлять их в шаблон и создавать код (либо записывать макрос, чтобы создать код) для поиска закладок и вставки данных. Ко­нечные пользователи не могут создавать собственные документы с данными, как при использовании метода слияния.

Еще одним недостатком метода закладок можно считать тот факт, что при открытии шаблонов Word закладки явно не отображаются, а это усложняет их поиск и идентификацию.

Для использования данного метода необходимо создать шаблон Word с текстом стандартного документа. В тех местах, где необходимо вставить данные, следует вставить закладки с помощью команд меню Insert Bookmark (Вставка [ Закладка). Закладке необходимо присвоить имя и щелкнуть на кнопке Add (Добавить).

При переходе к закладкам и вставке текста для записи кода VBA можно использовать Macro Recorder. Код данной статьи включает пример автоматизации с помощью закладок. Код VBA приведен ниже:

Selection. GoTo... . . What: =wdGoToBookmark, Name:="MyBoolcmark"

Selection.TypeText "New Text"

Поиск и замена

При использовании данной технологии в документ вставляется текст как указатель на место, куда должны быть вставлены данные (например, {FirstName}). Код осуществляет поиск текста указателя с помощью метода Find (Найти) и заменяет его соответствующими данными. Иначе говоря, должен быть найден текст {FirstName} и заменен на "Steve".

Преимущество данного метода по сравнению с закладками заключается в том, что текст указателя легко виден и более содержателен, чем закладки. Как и в случае с закладками, для создания кода VBA при выполнении поиска и замены можно воспользоваться модулем записи макроса. Пример кода поиска и замены приведен ниже.

With Selection.Find

.ClearFormatting

.Text = "( Find Text) "

.Replacement.Text = "New Text"

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

.Execute Replace:=wdReplaceAll

End With

Примеры кода автоматизации Word

Следующие примеры иллюстрируют код автоматизации специфических свойств и методов объектов Word.

Форматирование документов Word

Возможности форматирования в Word весьма обширны. Для автоматизации создания документа мож­но использовать код VBA, форматирующий документ Word:

'Форматирование текста. With Selection.Font

.Size = 14

.Bold = true

End With

'Форматирование параграфов.

With Selection.ParagraphFormat

.Leftlndent = InchesToPoints(0)

.Rightlndent = InchesToPoints(0)

.SpaceBefore = 0

.SpaceAfter = 0

.LineSpacingRule = wdLineSpaceSingle

.Alignment = wdAlignParagraphLeft

.KeepWithNext = False

.KeepTogether = False

.PageBreakBefore = False

.NoLineNumber = False

.Hyphenation = True

.FirstLineIndent = InchesToPoints(0)

.OutlineLevel = wdOutlineLevelBodyText

End With

'Установка двойного междустрочного интервала. Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceDouble

'Добавление разрыва страницы.

Selection.InsertBreak Type:=wdPageBreak

'Добавление разрыва раздела.

Selection.InsertBreak Type:=wdSectionBreakNextPage

Использование стилей документа

Стиль представляет собой набор инструкций форматирования, которому можно присвоить имя и ис­пользовать в данном тексте. Стили позволяют осуществлять форматирование нескольких блоков текста или абзацев с помощью одной команды. Кроме того, стили помогают выполнить однотипное форматирование по всему документу.

'Применение стиля "Заголовок".

Selection.Style = ActiveDocumnet.Styles("Headingi")

'Создание нового стиля.

ActiveDocument.Styles.Add Name:="MyNewStyle", Type:=wdStyleTypeParagraph

With ActiveDocument.Styles("MyNewStyle")

.AutomaticallyUpdate = False

.BaseStyIe = "Heading 5"

End With

With ActiveDocument.Styles("MyNewStyle").Font

.Name = "Times New Roman"

.Size = 12

.Bold = False

.Italic = False

.Underline = wdUnderlineSingle

.StrikeThrough = False

.DoubleStrikeThrough = False

.Outline = False

.Emboss = False

.Shadow = False

.Hidden = False

.SmallCaps = False

.AllCaps = False

.Color-Index = wdAuto

.Engrave = False

.Superscript = False

.Subscript = False

.Scaling = 100

.Kerning = 0

.Animation = wdAnimationNone

End With

AutoCorrect

Метод автоматической проверки правописания (AutoCorrect) позволяет исправлять слова, которые могут быть неправильно набраны в тексте (например, слово "teh" может быть изменено на "the"). Кроме того, этом метод можно использовать для ускорения набора текста (например, преобразовывать слово "MS" в "Microsoft").

AutoText

Автотекст (AutoText) — это база данных, хранящая часто используемые текстовые и графические объекты, которые можно с легкостью вставлять в документ. Код данной статьи содержит примеры встав­ки текста и фотографий в документы.

'Создание автотекста.

NormalTemplate.AutoTextEntries.AddName:""Microsoft", Range:=Selection.Range

'Вставка автотекста.

NormalTemplate.AutoTextEntries("Microsoft").Insert Where:"Selection.Range

AutoSummarize

Автореферат (AutoSummarize) анализирует каждое предложение документа для создания реферата или резюме. Реферат можно отображать несколькими способами: как выделенный текст в документе, как краткий конспект в начале документа, в новом документе или собственно реферат без отображения других документов. Автореферат можно использовать даже при создании резюме для Web-страниц.

'Создание автореферата документа (резюме записывается в новый документ).

ActiveDocument.AutoSummarize Length:=25, Mode:=wdSununaryModeCreateNew, _

UpdateProperties:=True
Представления документа

После создания документа для пользователя необходимо представить его в надлежащем виде: Normal (Обычный), Online Layout (Web-документ), Page Layout (Разметка страницы), Outline (Схема документа) или Master Document (Структура).

'Обычное представление.

ActiveWindow.View.Type = wdNormalView

'Режим Web-документа.

ActiveWindow.View.Type = wdOnlineView

'Режим разметки.

ActiveWindow.View.Type = wdPageView

'Схема документа

ActiveWindow.ActivPane.View.Type - wdOutlineView

'Режим структуры

ActiveWindow.ActivePane.View.Type = wdMasterView

Оглавление

Ранее создание оглавления было довольно трудоемким процессом. Сегодня благодаря Word создание оглавления представляет собой в основном автоматический процесс. Хитрость заключается в использова­нии стилей в документе. При установке стилей на форматирование Заголовок!, Заголовок! и т.д. Word опирается на данную информацию при автоматическом создании оглавления.

'Создание оглавления.

With ActiveDocument

.TablesOf Contents .Add Range:^Selection.Range, RightAlignPageNuinbers :=True, _

UseHeadingStyles:=True, UpperHeadingLevel:=1, _

LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:=""

.TablesOfContents(1).TabLeader = wdTabLeaderDots

End With

Примечания

Примечания помогают читателю найти и оценить вспомогательную информацию в указанном месте документа.

'Создание примечания.

ActiveDocument.Footnotes.Add Range:=Selection.Range, _

Reference:=Selection, Text:="My New Footnote"

Верхние колонтитулы

Верхние колонтитулы отображаются в верхней части каждой страницы документа.

'Создание верхнего колонтитула.

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentpageHeader

Selection.TypeText Text:="My Header"

Нижние колонтитулы

Нижние колонтитулы отображаются в нижней части каждой страницы документа.

'Создание нижнего колонтитула.

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentpageHeader

If Selection.HeaderFooter.IsHeader = True Then

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter

Else

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentpageHeader

End If

Selection.TypeText Text:="My Footer"

Гиперссылки

Гиперссылки позволяют пользователям переходить к другим частям документа, открывать совершенно другой документ и даже переходить к электронным документам в Internet.

'Создание гиперссылки на закладку в существующем документе.

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:»"", SubAddress:="My Bookmark"

'Создание гиперссылки на другой документ.

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="C:\MyDoc.doc", SubAddress:=""

'Создание гиперссылки на Web-страницу.

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _

"http://www.microsoft.com/office/", SubAddress:=""

Создание таблиц

Таблица содержит информацию, сгруппированную по строкам и столбцам. Word с достаточно большой степенью гибкости позволяет создавать таблицы разнообразных размеров.

'Создание таблицы.

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:=_3,

Selection.Tables(1).AutoFormat, Format:=wdTableFormatClassic3,

ApplyBorders:=True, ApplyShading:=True, ApplyFont:=True, _

ApplyColor:=True, ApplyHeadingRows:=True, _

ApplyLastRow:=False, ApplyFirstColumn:=True, _

ApplyLastColumn:=False, AutoFit:=False

'Вставка строк в таблицу. Selection.InsertRows 1

'Вставка столбцов в таблицу. Selection.InsertColumns

Параметры страницы

Диалоговое окно Page Setup (Параметры страницы) позволяет управлять размерами полей, бумаги, ориентацией, источником бумаги и создавать макет документа. Все эти установки могут быть заданы программно:

'Установка полей.

With ActiveDocument.PageSetup

.TopMargin = InchesToPoints(0.5)

.BottomMargin = InchesToPoints(0.5)

.LeftMargin = InchesToPoints(0.5)

.RightMargin = InchesToPoints(0.5)

End With

'Установка альбомной ориентации.

ActiveDocument.PageSetup.Orientation = wdOrientLandscape

Предварительный просмотр

Для предварительного просмотра документа используется следующий код:

'Предварительный просмотр. ActiveDocument.PrintPreview

Печать документов, конвертов и наклеек

Приведенный ниже пример кода иллюстрирует печать документов, конвертов и наклеек:

'Печать всего документа.

Application.Printout FileName:="", Range:=wdPrintAllDocument, _

Item:= wdPrintDocumentContent, Copies:=1, Pages:="", _

PageType:=wdPrintAllPages, Collate:=True, Background:=True, _

PrintToFile:=False
'Печать конвертов.

ActiveDocument.Envelope.Printout ExtractAddress:=False, _

OmitReturnAddress :=False, PrintBarCode:=False, _

PrintFIMA:=False, Height:=InchesToPoints(4.13), _

Width:=InchesToPoints(9.5), Address:="Tom Howe", _

AutoText:= "ToolsCreateLabelsl", ReturnAddress:= _

"1001 SW Fifth Avenue, Suite 1100",ReturnAutoText:= _

"ToolsCreateLabels2", AddressFromLeft:=wdAutoPosition, _

AddressFromTop:=wdAutoPosition, ReturnAddressFromLeft:= _

wdAutoPosition, ReturnAddressFromTop:=wdAutoPosition
'Печать наклеек.

Application.MailingLabel.DefaultPrintBarCode = false Application.MailingLabel.Printout Name:="2l60 Mini", _

Address : = " Tom Howe "

СОВЕТ

При ежедневной печати больших документов или отчетов можно воспользоваться процедурой-таймером для печати отчетов ночью, когда принтеры ничем не заняты и сетевой трафик минимален.

Поля Word

Поле Word это специальный код, применяющийся для вставки специальной информации, напри­мер, номеров страниц, дат и т.п. Для вставки поля в документ в меню необходимо выбрать команды Insert | Field (Вставка | Поле).

При работе с документами можно переключаться между режимами отображения текста и полей с помощью клавиш AH+F9.

Поля можно обновлять вручную с помощью клавиши F9 либо автоматически при печати документа.

Некоторые часто используемые поля Word описаны в табл. 2.

Таблица 2. Поля Word.

Поле Word

Описание

Ask

Запрос на ввод текста, который необходимо добавить к закладке

CreateDate

Дата создания документа.

Fill-in

Запрос на ввод текста, который необходимо вставить в документ.

Hyperlink

Открытие и переход к указанному файлу.

If

Оценка аргументов по условию.

MergeField

Вставка поля слияния (Mail Merge).

Next

Переход к следующей записи в слиянии.

SectionPages

Вставка общего числа страниц в разделе.


При работе с кодами полей можно воспользоваться следующими сочетаниями клавиш:

Сочетание клавиш

Описание

Alt+F9

Переключение между режимами отображения кодов полей и данных в поле.

Ctrl+F9

Создание символов поля.

Ctrl+Shift+F9

Отключение связи кодов полей.

Delete F9

Удаление кода поля. Обновление кодов полей вручную.


Сводная информация о документе

При создании и сохранении нового документа для осуществления последующего поиска необходимо сохранить информацию о документе. Информация, идентифицирующая документ, содержится в диалого­вом окне Properties (Свойства) документа (рис. 9).

К свойствам каждого документа относятся:

• Название документа

• Размер документа

• Дата и время создания

• Дата и время последней модификации

• Шаблон, на котором основан документ

• Ключевые слова для идентификации документа

• Местонахождение документа

• Имя автора

• Имя руководителя

• Название компании

• Категория

• Комментарии

• Статистические сведения для данного документа

• Информация о содержании

Кроме того, можно даже создавать собственные свойства, соответствующие специфическим требова­ниям данной организации. (См. закладку Custom (Пользовательский) в диалоговом окне свойств.)

РИСУНОК 9. Сводная информация о документе Word.
Другие возможности Word

Word включает множество расширенных возможностей для создания различных документов, таких как:

• Многоколоночная разметка

• Возможность импорта графики из других приложений

• Встроенные шрифты TrueType

• Границы и заливка

• Фон и текстура

• Word Art

• Разнообразные средства рисования

Автоматизация Excel

В данном разделе описаны специфические приемы автоматизации Microsoft Excel и приведены соот­ветствующие примеры.

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

В Excel существует более 140 объектов, которыми можно манипулировать с помощью VBA.

СОВЕТ

Полная диаграмма объектной модели Excel приведена в файле интерактивной справки "Объекты Microsoft Excel".

В табл. 3 описаны наиболее часто используемые объекты Excel. Названия объектов, содержащих коллекции, заканчиваются на -s.

Таблица 3. Объекты Excel.

Объект Excel

Описание

Application

Приложение Excel в целом.

Characters

Символы в объекте, содержащем текст.

Chart(s)

Диаграмма в рабочей книге.

CubeField(s)

Иерархия или поле измерения из куба OLAP.

DefaultWebOptions

Установки, определенные по умолчанию и используемые для создания или сохранения Web- страницы.

Dialog(s)

Встроенное диалоговое окно.

OocumentProperty(s)

Встроенные или настраиваемые свойства документа.

Name(s)

Определенное имя для диапазона ячеек.

PivotCache(s)

Кэш памяти для отчета сводной таблицы.

PivotTable(s)

Отчет сводной таблицы на рабочем листе.

PublishObject(s)

Элемент рабочей книги, сохраненный в Web-странице.

Range

Ячейка, строка, столбец либо выделенные ячейки, содержащие смежные блоки ячеек, или 3D — диапазон.

Shapes(s)

Объект-фигура, например картинка, в рисованном виде.

ShapeRange

Подмножество фигур в документе.

Style(s)

Описание стиля для диапазона.

WebOptions

Установки, перекрывающие DefaultWebOptions.

Workbook(s)

Открытая рабочая книга, обращение к которой происходит по номеру индекса либо по имени.

Worksheet(s)

Открытый рабочий лист, обращение к которому происходит по номеру индекса либо по имени.


Примеры кода автоматизации Excel

Приведенные ниже примеры представляют собой код, необходимый для автоматизации специфичес­ких свойств и методов объектов Excel.

Форматирование документов Excel

Excel предлагает обширные возможности форматирования. Следующие примеры иллюстрируют форма­тирование заголовков столбцов и данных в столбцах, а также вызов метода AutoFit.

'Форматирование заголовков столбцов. With objWoricSheet

'Bold column headings.

.Cells(l, 1).Font.Bold = True

.Cells(l, 2).Font.Bold = True

End With

'Форматирование данных в рабочем листе.

With objWorkSheet.Columns

With .Item (2)

.NumberFonnat = "0.00"

.AutoFit

End With

'Использование метода "AutoFit" для форматирования данных.

.Item(l) .AutoFit

End With

Создание диаграмм

Для быстрого создания кода автоматизации можно воспользоваться модулем Macro Recorder (Запись макроса). Мастер диаграмм поможет осуществить выбор необходимой диаграммы. Приведенный ниже код автоматизации создает различные типы диаграмм:

'Создание круговой диаграммы.

objChart.ChartWizard Source:=objSheet.Cells(1, 1) . CurrentRegion, _

Gallery :=xlPie, Format: =4, PlotBy:=xlColun>ns, _

CategoryLabels:=l, SeriesLabels:=1, HasLegend:=2, _

Title:="Product Sales (Pie Chart)"

'Создание гистограммы.

With ObjChart.ActiveChart

.ChartType = xlColumnClustered

.SetSourceData Source:=_

Sheets("Top 5 Product Sales").Range("Al:B6"), _

PlotBy:=xlColumns

End With

'Создание кольцевой диаграммы.

With ObjChart.ActiveChart

.ChartType = xlDoughnut

.SetSourceData Source:= _

Sheets("Top 5 Product Sales").Range("Al:B6") , _

PlotBy:=xlColumns

.Location Where: = xlLocationAsNewSheet, Name :=" Doughnut Graph"

.HasLegend = True

.ChartTitle.Characters.Text = "Product Sales (Doughnut Chart)”

End With

Код автоматизации создает диаграммы в Excel (рис. 10).

РИСУНОК 10. Создание диаграмм в Excel.

Использование свойства Parent

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

При открытии объекта в иерархии объектов приложения можно двигаться по иерархии в обоих направ­лениях. Для перехода вверх по ступеням иерархии необходимо использовать свойство Parent. Например, при работе с данным рабочим листом можно получить доступ к рабочей книге с помощью свойства Parent. Соответствующий код приведен ниже:

Private Sub ParentPropertyDemo() Dim objExcel As Excel.Application

Dim objWorkBook as Excel.WorkBook

'Запуск новой копии приложения Excel.

Set objExcel = New Excel.Application

'Открытие новой рабочей книги Excel.

'Необходимо проверить путь к файлу из кода данной главы.

objExcel.Workbooks.Open _

("С:\Automation\Sales by Country Data.xis")

'Установка objWorkBook в активную рабочую книгу.

Set objWorkBook = objExcel.ActiveWorkBook

'Получение имени objWorkBook ("Sales by Country").

MsgBox objWorkBook.Name

'Получение имени объекта приложения с помощью

'свойства Parent ("Microsoft Excel").

MsgBox objworkBook.Parent.Name

'Максимизация окна.

objExcel.WindowState = xlMaximized

'Отображение документа Excel для пользователя.

objEcxel-Visible = True

'Использование метода Quit для прекращения работы Excel.

ObjExcel.Quit

'Освобождение объектной переменной.

Set objExcel = Nothing

End Sub

В приведенном примере открывается рабочая книга. С помощью свойства Parent объекта рабочей кни­ги происходит обращение к объекту приложения Excel вверх по ступеням иерархии объектов.

Автоматизация PowerPoint

В данном разделе описаны специальные приемы автоматизации Microsoft PowerPoint. Приведены соот­ветствующие примеры.

Объектная модель PowerPoint

Существует более 85 объектов PowerPoint, которыми можно манипулировать с помощью VBA.

СОВЕТ

Диаграмма объектной модели PowerPoint приведена в файле интерактивной справки "Объекты MicrosoftPowerPoint".

Наиболее часто используемые объекты PowerPoint описаны в табл. 4. Названия объектов, содержа­щих коллекции, заканчиваются на -s.

Таблица 4. Объекты PowerPoint.

Объект PowerPoint

Описание

ActionSetting(s)

Установка, определяющая реакцию фигуры либо диапазона текста на действия мышью во время проведения презентации.

AnimationSetting(s)

Установка анимации для фигуры во время проведения презентации.

Application


Приложение PowerPoint в целом.

Cell

Ячейка в таблице.

CellRange


Набор ячеек в столбце либо строке таблицы.

ColorScheme(s)


Цветовая схема для слайда, презентации и т.д.

Column(s)


Столбец таблицы.

DefaultWebOptions


Установки по умолчанию для создания либо сохранения Web-страницы.

DocumentWindow(s)


Окно документа.




Pane(s)

Часть окна документа.

Presentation(s)

Открытая презентация, обращение к которой происходит по индексу номера либо по имени.

Row(s)

Строка таблицы.

Selection

Выделение в документе.

ShapeRange

Набор фигур в документе.

SlideRange

Набор слайдов.

SlideShowWindow(s)

Окно, в котором отображается слайд-шоу.

Table

Таблица в слайде.

TextRange

Текст, добавленный к фигуре.

WebOptions

Установки, отменяющие DefaultWebOptions


Примеры кода автоматизации PowerPoint

Приведенные ниже примеры иллюстрируют код автоматизации специфических свойств и методов объектов PowerPoint (рис. 11).


РИСУНОК 11. Презентация PowerPoint, созданная с помощью метода автоматизации
Добавление слайдов PowerPoint

Для добавления слайдов PowerPoint к презентации используется метод Add:

'Добавление слайда.

Set ppPres = objPP.Presentations.Add

Добавление эффектов перехода

Приведенный код добавляет эффект перехода к слайду:

'Добавление эффекта перехода к слайду.

ObjPresentation.Slides(5).SlideShowTransition.EntryEffect = _

ppEffectFade

Добавление данных и форматирование слайдов

Следующий код добавляет данные и форматирует слайд:

With objPresentation.Slides(5).Shapes(1)

.TextFrame.TextRange.Text = "Sales Totals"

.Shapes(1).TextFrame.TextRange.Characters.Font.Size = 80

End With

With objPresentation.Shapes(2).TextFrame.TextRange

.Text = Chr$(CharCode:=13) + "Board Of Director Meeting" _

+ Chr$(CharCode:=13) + "Sales Summary Information"

.Characters.Font.Color.RGB = RGB(0, 0, 255)

.Characters.Font.Shadow = True

End With

With objPresentation.Shapes("Rectangle 3").TextFrame.TextRange. _

Characters(l, 53).Font

.Size = 36

.Color.SchemeColor = ppFill

End With

End With

Добавление фотографии к фигуре на слайде

Приведенный ниже код добавляет фотографию и форматирует слайд:

Dim strFileMame as String

strFileName = ADOrs!Photos

objPresentation.Shapes.AddPicture(FileName:=strFileName, _

LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _

Left:=110, Top:=260, Width:=250, Height:=250).Select

Запуск презентации PowerPoint

Данный код запускает презентацию PowerPoint:
1   2   3   4   5


написать администратору сайта