Создание диаграмм
Диаграммам Excel соответствует объект Chart, который может располагаться как на отдельном листе, так и на листе с данными. Если объект Chart располагается на листе с данными, ему соответствует член коллекции ChartObjects объекта WorkSheet и создание диаграммы нужно начать с добавления элемента в эту колекцию:
Ch:=App.WorkBooks[1].WorkSheets[2].ChartObjects.Add(10,50,400,400);
Параметрами этого метода являются координаты левого верхнего угла и размеры диаграммы в пунктах (1/72 дюйма).
Если же диаграмма располагается на отдельном листе (не предназначенном для хранения данных), то создание диаграммы нужно начать с добавления элемента в коллекцию Sheets объекта Application (которая отличается от коллекции WorkSheets тем, что содержит листы всех типов, а не только листы с данными):
App.WorkBooks[1].Sheets.Add(,,1,xlWBATChart);
В этом случае первый параметр метода Add указывает порядковый номер листа, перед которым нужно поместить данный лист (или данные листы, если их несколько), второй параметр - порядковый номер листа, после которого нужно поместить данный лист (используется обычно один из них), третий параметр - сколько нужно создать листов, а четвертый - какого типа должен быть лист. Значения четвертого параметра совпадают со значениями первого параметра метода Add коллекции WorkBooks объекта Application, и при использовании имен соответствующих констант следует определить их в приложении-контроллере.
Простейший способ создать диаграмму, с точки зрения пользователя, - создать ее с помощью соответствующего эксперта на основе прямоугольной области с данными. Точно так же можно создать диаграмму и с помощью контроллера автоматизации - для этой цели у объекта Chart, являющегося свойством объекта ChartObject (члена коллекции ChartObjects), имеется метод ChartWizard. Первым параметром этого метода является объект Range, содержащий диапазон ячеек для построения диаграммы, а вторым - числовой параметр, указывающий, какого типа должна быть эта диаграмма:
Var Ch: Variant; : Ch.Chart.ChartWizard _ (App.WorkBooks[1].WorkSheets[2].Range['A1:C5'], _ xl3DColumn);
Возможные значения параметра, отвечающего за тип диаграммы, можно найти в справочном файле.
У объекта Chart имеется множество свойств, отвечающих за внешний вид диаграммы, с помощью которых можно изменить ее точно так же, как пользователи делают это вручную. Ниже приводится пример создания заголовка диаграммы и подписей вдоль ее осей (отметим, что оси есть не у всех типов диаграмм).
Ch.Chart.HasTitle :=1; Ch.Chart.HasLegend := False; Ch.Chart.ChartTitle.Text := _ 'Пример диаграммы Excel '; Ch.Chart.Axes(1).HasTitle := True; Ch.Chart.Axes(1).AxisTitle.Text := _ 'Подпись вдоль оси абсцисс'; Ch.Chart.Axes(2).HasTitle := True; Ch.Chart.Axes(2).AxisTitle.Text := _ 'Подпись вдоль оси ординат';
Еще один способ создания диаграммы - определить все ее параметры с помощью свойств объекта Chart, включая и определение серий, на основе которых она должна быть построена. Данные для серии обычно находится в объекте Range, содержащем строку или столбец данных, а добавление серии к диаграмме производится путем добавления члена к коллекции SeriesCollection, например:
App.WorkBooks[1].Sheets.Add(,,1,xlWBATChart); App.WorkBooks[1].Sheets[1].ChartType := xl3DPie; Rng:=App.WorkBooks[1].WorkSheets[2].Range['B1:B5']; App.WorkBooks[1].Sheets[1].SeriesCollection.Add(Rng);
В данном примере к диаграмме, созданной на отдельном листе, специально предназначенном для диаграмм, добавляется одна серия на основе диапазона ячеек другого листа.
Мы изучили основные операции, применяемые при автоматизации Microsoft Excel. Описания некоторых аналогичных операций для Microsoft Word, например обращение к свойствам документов, были здесь опущены во избежание повторов. Возможности автоматизации Microsoft Excel и Word далеко не исчерпываются приведенными примерами. Сведения о них можно всегда найти в соответствующем справочном файле.
В следующих статьях данного цикла будет рассмотрена автоматизация других приложений Microsoft Office - Microsoft PowerPoint, Microsoft Access, Microsoft Outlook и др.
|
| |||||||||
try{ var loc = escape(top.location.href); }catch(e){;}
var userid = 2825908; var page = 3; var rndnum = Math.round(Math.random() * 999111); document.write(''); document.write('');
var loc = '';
try{ var loc = escape(top.location.href); }catch(e){;}
var userid = 57689051; var page = 1; var rndnum = Math.round(Math.random() * 999111); document.write(''); document.write('');
var loc = '';
try{ var loc = escape(top.location.href); }catch(e){;}
var userid = 2825908; var page = 3; var rndnum = Math.round(Math.random() * 999111); document.write(''); document.write('');
hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=109954&im=108&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("") |
var d, s, n, uid, zzz, ver, rnd, rn, y; d=document;s=screen;n=navigator;uid=27342; ver=Math.round(parseFloat(n.appVersion)*100);rnd=rn=Math.random(); zzz="&dl="+escape(d.referrer)+"&n="+n.appName+"&swh=" +s.width+'x'+s.height+"&ver="+ver+"&rnd="+rnd; y=""; d.write(y); |