|
Программирование >> Разработка пользовательского интерфейса
При работе с объектами 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
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |