Программирование >>  Разработка пользовательского интерфейса 

1 ... 114 115 116 [ 117 ] 118 119 120 ... 147


При работе с объектами Word for Windows функция CREATEOBJECT() запускает новую копию приложения только в том случае, если на компьютере это приложение еще не работает. При этом функция GETOBJECT() не может использоваться для ссылки на документ. Если она используется в виде

oWrd = GETOBJECT( , WORD.BASIC )

то ее применение аналогично функции CREATEOBJECT().

Задание функции в виде oWrd = GETOBJECT(, WORD.BASIC )

всегда приводит к ошибке.

В отличие от Excel текстовый процессор Word for Windows имеет только один объект OLE Automation - WordBasic (в синтаксисе мы пишем Word.Basic). Это означает, что управлять документом Word из другого приложения мы можем только посредством выполнения команд WordBasic.

Для того чтобы продемонстрировать пример создания объекта Word, решим классическую для любого начинающего программиста задачу - выведем на экран слово Hello! В связи с тем, что читатель одиннадцатой главы этой внушительной по объему книги вряд ли захочет относить себя к начинающим программистам, усложним задачу. Загрузим на компьютере Word и Access. Теперь, находясь в Access, напишем заветное слово в документе Word.

Для решения этой задачи в контейнере БД Access перейдем на вкладку Модули. На панели инструментов нажмем кнопку Вставить процедуру. В появившемся диалоговом окне напишем ее название, например CallWord. В окне Модуль напишем следующий код:

Public Function CallWord() As Integer

Dim oWbApp As Object Set oWbApp = CreateObject( Word.Basic )

oWbApp.FileNew Открываем новый документ oWbApp.Insert Hello! Вписываем в документ слово

Set oWbApp = Nothing

Exit Function End Function

Запустите этот модуль на выполнение. Напоминаем простейший способ сделать это - нажмите кнопку на панели инструментов Окно отладки и в появившемся окне наберите имя процедуры, после чего нажмите клавишу Enter. Смело переходите в Word и рассматривайте появившееся там слово.

Если вас испугало многообразие объектов в Excel и вы уже обрадовались наличию в Word всего одного объекта, то, возможно, ваша радость преждевременна. При управлении документом Word с помощью OLE Automation есть одна существенная для программиста неприятность.

Команды WordBasic используют поименованные аргументы, а посредством OLE Automation ссылаться на аргументы можно только по их положению. Например, вы хотите отключить вывод предупреждения при сохранении документа. В файле контекстной справки WordBasic вам будет подсказан следующий синтаксис команды ToolsOptionsSave

ToolsOptionsSave [.CreateBackup = number] [, .FastSaves = number] [, .SummaryPrompt = number]

В макросе Word вы, соответственно, можете написать: ToolsOptionsSave .SummaryPrompt = False

Для того чтобы выполнить эту команду из OLE-контроллера, необходимо знать порядковый номер этого аргумента в команде:

oWbApp.ToolsOptionsSave , , 0

10.3. Использование OLE Automation для передачи данных

В практике создания систем автоматизации обработки данных программисту очень часто приходится сталкиваться с задачей графического представления данных. В комплекте со всеми средствами разработки Microsoft поставляется специальная утилита Microsoft Graph 5.0, которая как нельзя лучше подходит для этих целей.

В этом параграфе мы расскажем, как в пользовательском приложении можно использовать Microsoft Graph 5.0, а также остановимся на основных возможностях графического представления



Таблица 10.3. Описание объектов MS Graph 5.0 Объект Описание

Application Содержит установки в целом для приложения

Axis Горизонтальные или вертикальные оси графика

AxisTitle Заголовок одной из осей графика

Border Рамка

Chart График

ChartArea Область графика, которая простирается и за внешние границы области, в которой вычерчивается график (поля, заголовки осей, описания данных и т. д.)

ChartGroup Группа серий данных, представленных в виде одного графика. Простейший график содержит один объект ChartGroup

ChartTitle Заголовок графика

DataLabel Дополнительное описание для графика одной серии данных (может иметь отношение ко всей серии или к одной точке)

DownBars Прямоугольник, который на линейном графике соединяет значение одной серии данных с более низким значением другой серии данных

DropLines Вертикальные линии, соединяющие

точки графика со значениями на оси Y

ErrorBars Линии, графически отображающие

ошибку расчета значения в графиках X-Y

Floor Координатная поверхность, служащая основанием для трехмерного графика

Font Шрифт

GridLines Линии координатной сетки

HiLoLines Вертикальные линии, которые соединяют максимальное и минимальное значения для различных серий данных

Interior Графическое оформление (фон, тень и т.

Legend Описание серии данных для графика

LegendEntry Наименование серии данных, которое берется из колонки с данными и может быть изменено только на листе с данными

LegendKey Обозначения для серии данных

PlotArea Область непосредственного расположения графика

Point Точка в серии данных

данных, которые предоставляет Microsoft Excel.

С помощью Microsoft Graph 5.0 мы можем легко встроить в форму в виде OLE-объекта графики самого разнообразного вида, которые помогут пользователю лучше разобраться с тенденциями изменения интересующих его показателей. MS Graph 5.0 имеет интуитивно понятный интерфейс, разобраться с которым в крайнем случае поможет обширная справочная информация. Но если мы не хотим заставлять пользователя нашей прикладной программы изучать еще и англоязычный интерфейс MS Graph, нам придется позаботиться об управлении процессом графического представления данных из программы с помощью средств OLE Automation. В связи с актуальностью этого вопроса остановимся на нем возможно подробнее.

На рис. 10.5 представлена иерархическая схема объектов MS Graph 5.0, а в табл. 10.3 - их краткое описание.



Series SeriesLines TickLabels TrendLine

UpBars

Walls

Серия данных

Линия для обозначения серии данных Значения для засечек на оси графика Линия тренда

Прямоугольник, который на линейном графике соединяет значение одной серии данных с более высоким значением другой серии данных

Боковые координатные поверхности для трехмерных графиков

Перечисленные 27 объектов позволяют достаточно гибко программировать внешний вид графиков, предоставляя доступные для них свойства и методы, список которых приведен в табл. 10.4. Все объекты имеют свойства Application (возвращает имя приложения, создавшего объект), Creator (возвращает идентификатор приложения, создавшего объект - для Apple Macintosh) и Parent (возвращает имя родительского объекта), поэтому они не указаны в таблице.

Таблица 10.4. Свойства и методы объектов MS Graph 5.0 Объект Свойства Методы

Application ChartWizardDisplay, HasLink, Name, Visible, Chart, Quit

Axis AxisBetweenCategories,

AxisGroup, AxisTitle, Border,

Crosses, CrossesAt,

HasMajorGridlines,

HasMinorGridlines, HasTitle,

MajorGridlines,

MajorTickMark, MajorUnit,

MajorUnitIsAuto,

MaximumScale,

MaximumScaleIsAuto,

MinimumScale,

MinimumScaleIsAuto,

MinorGridlines,

MinorTickMark, MinorUnit,

MinorUnitIsAuto,

ReversePlotOrder, ScaleType,

TickLabelPosition, TickLabels,

TickLabelSpacing,

TickMarkSpacing, Type

AxisTitle

Border

Chart

SaveAsOldExcelFile-Format Delete

Border, Caption, Font, HorizontalAlignment, Interior, Left, Name, Orientation, Shadow, Text, Top, VerticalAlignment

Color, ColorIndex, LineStyle,

Weight

Area3DGroup, AutoScaling, Bar3DGroup, ChartArea, ChartTitle, Column3DGroup, Corners, DepthPercent, DisplayBlanksAs, Elevation, Floor, GapDepth, HasAxis, HasLegend, HasTitle, HeightPercent, Legend, Line3DGroup, Perspective, Pie3DGroup, PlotArea, PlotVisibleOnly, RightAngleAxes, Rotation, SizeWithWindow, SubType, SurfaceGroup, Type, Walls, WallsAndGridlines2D,

Delete

BarGroups, ChartGroups, ChartWizard, ColumnGroups, Delete, DoughnutGroups, LineGroups, OmitBackground, PieGroups, RadarGroups, SeriesCollection, SetEchoOn, XYGroups



1 ... 114 115 116 [ 117 ] 118 119 120 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика