Иллюстрированный самоучитель по Visual FoxPro 8

Редактирование OLE-объекта. Удаление OLE-объекта.

Большинство OLE-объектов можно редактировать. Для этого откройте окно редактирования поля типа General (Общий), содержащее, например, такие OLE-объекты, как электронная таблица Microsoft Excel, документ Word или рисунок Paint, и дважды щелкните мышью. Откроется приложение-сервер для редактирования объекта.

Для редактирования точечных рисунков выберите команду Растровый рисунок Object (Объект) в меню Edit (Правка), а затем команду Изменить или Открыть, которые доступны в окне редактирования поля типа General (Общий). Для редактирования документа Word в меню Edit (Правка) появляется команда Документ Object, а для редактирования электронной таблицы – Лист Object (Объект).


Чтобы удалить OLE-объект из поля типа General (Общий), выполните команду Clear (Очистить) из меню Edit (Правка).

Использование объектно-ориентированного программирования

В Visual FoxPro для управления OLE-объектами можно использовать объектно-ориентированное программирование.

Замечание
Для создания OLE-объекта в Visual FoxPro предназначена команда CREATEOBJECT
.

Передача данных в Microsoft Excel с помощью OLE

В рассматриваемом примере используем данные из таблицы Cntcust для построения диаграммы распределения клиентов по городам в программе Microsoft Excel с помощью OLE-объектов.

  1. В меню File (Файл) выберите команду New (Новый), установите опцию Program (Программа) и нажмите кнопку New file (Новый файл). Откроется новое окно редактирования программ.
  2. Для установления связи с Microsoft Excel, передачи в него данных и построения диаграммы введите следующие команды:
    * Создание OLE-объекта
    objExcelSheet=CreateObject("Excel.Sheet")
    objExcelSheet.Application.Visible=.T.
    objExcelSheet = objExcelSheet.Sheets[1]
    *Передача данных из таблицы CntCust в Excel SELECT CNTCUST
    nRow=0
    SCAN
    nRow=nRow+1
    objExcelSheet.Cells(nRow,1).Value= CntCust.Город
    objExcelSheet.Cells{nRow,2).Value=CntCust.Количество
    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,"","","","")
    *Копирование диаграммы в буфер обмена Windows objExcelSheet.ChartObjects(1).Select
    obj ExcelSheet.ChartObj ects(1).Copy
    *Закрытие сервера objExcelSheet.application.quit release
    objExcelSheet
    
  3. Проверьте синтаксис и запустите программу на выполнение. Результат выполнения программы представлен на рис. 21.13.

Замечание
Наиболее простым способом формирования команд для выполнения действий над OLE-объектами является запись соответствующего макроса на сервере-приложении и использование текста этого макроса в Visual FoxPro
.

Иллюстрированный самоучитель по Visual FoxPro 8 › Связывание и внедрение объектов, экспорт и импорт данных › Редактирование OLE-объекта. Удаление OLE-объекта.
Рис. 21.13. Создание диаграммы с помощью OLE

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.