C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
глюки Excel ?
Borgir
Отправлено: 16.10.2003, 05:46


Дежурный стрелочник

Группа: Участник
Сообщений: 48



День (утро, вечер — кому как повезло) добрый!!!

Проблема значит такая. Я сделал прогу, одним из действий которой является копирование графика (TChart) в буфер обмена, а затем вставка его в Excel. На моем рабочем компьютере (WinXP, OfficeXP) все работает нормально. На компьютере заказчика не хочет (Win95, Office97). Я все делал через OLE. Текст в EXCEL вставляется нормально. А вот вместо графика — черный квадрат (хотя я вроде не Малевич). Причем что самое интересное, если программой не делать вставку в EXCEL, а просто скопировать в буфер и запустить нужный файл EXCEL'я, а затем вручную вставить из буфера обмена — график выглядит нормально.
Вставляю из программы я обычной функцией:
CODE
App.OlePropertyGet("ActiveSheet").OleProcedure("Paste");

в чем может быть дело?
Big Cat
Отправлено: 16.10.2003, 06:28


Не зарегистрирован







Доброе вркмя суток.
Не совсем понял 2 момента:
1)При вставке из буфера, где находится данный график(на одной машине?, файлы?)
2)Почему используется именно App.OlePropertyGet("ActiveSheet"),
а не функция вытаскивающая именно график?
Если что не так спросил, извините, только учусь(студент) и хочу помочь.
Borgir
Отправлено: 16.10.2003, 11:34


Дежурный стрелочник

Группа: Участник
Сообщений: 48



Объясню немного поподробнее. Моя программа строит график по некоторым данным, которые получает из внешнего устройства. Готовый график копирует в буфер обмена. Далее запускает EXCEL, открывает там нужный файл. А затем вставляет туда из буфера обмена график. Буфер обмена обычный Виндовский. Насколько я понял, график в EXCEL в данном случае вставляется как рисунок.

А что касаемо второго вопроса. То я использовал обычную для EXCEL'я вставку из буфера. А уж что вставлять это он сам определяет. Ведь работает же это на моей рабочей машине, да и на той машине вручную вставляется нормально. Кроме того я пробовал в EXCEL'е записывать макрос, когда вставлял из буфера обмена график вручную. Абсолютно тот же макрос получается
CODE
ActiveSheet.Paste

Вернуться в Вопросы программирования в C++Builder