В рассматриваемом примере используем данные из таблицы cntcust для построения диаграммы распределения клиентов по городам в программе Microsoft Excel с помощью OLE-объектов,
* Создание OLE-объекта
obj ExcelSheet=CreateObject("Excel.Sheet")
objExcelSheet.Application.Visible=.Т.
objExcelSheet = objExcelSheet.Sheets[1]
* Передача данных из таблицы CntCust в Excel
SELECT CNTCUST
nRow=0
SCAN
nRow=nRow+l
objExcelSheet.Cells(nRow,1).ValueCntCust.City
objExcelSheet.Cells(nRow,2).Value=CntCust.Quant
ENDSCAN
objChart = objExcelSheet.ChartObjects.Add{100, 100, 400, 200)
* Выделение данных и создание диаграммы
objExcelSheet.chartObjects(1).Chart.;
chartwizard(objExcelSheet.Range(objExcelSheet.Cells(1,1) ,;
objExcelSheet.Cells(nRow,2)),;
-4100,4,1,0,1,1,"","","","")
objExcelSheet.chartObjects(1).Select
objExcelSheet.chartObjects(1).Copy
* Закрытие сервера
objExcelSheet.application.quit
release objExcelSheet
Замечание
Наиболее простым способом формирования команд для выполнения действий над OLE-объектами является запись соответствующего макроса на сервере приложении и использование текста этого макроса в Visual FoxPro.
Рис. 21.13. Создание диаграммы с помощью OLE