AddOleObject - добавление листа Excel в Word?
От: Boris_R  
Дата: 24.08.02 08:00
Оценка:
Проблема возникла при смене МСОфиса на 2000. OLEAutomation работать перестала, стал использовать закладку Servers в D6:

var ClassType, FileName, Linktofile, DisplayAsIcon, EmptyParam:
OleVariant;
...
Wordapplication.Visible := True;
WordDocument.Connect;
WordDocument.Activate;
...
все загрузилось все экспортируется, подошел черед таблицы:

WordDocument.InlineShapes.AddOLEObject(ClassType:='Excel.Sheet.8',
FileName:='c:\temp\tab13.xls', Linktofile:=False,
DisplayAsIcon:=False, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

на этой сточке все виснет: EOleExceptions — Несовпадение типа.!!!!!!!!!
^^^^^^^^^^^^^^^^^^^^^^^^^^
В Инете ничего не нашел :(
Что у меня не так, может есть другое решение...
Re: Версии компонентов
От: Vi2 Удмуртия http://www.adem.ru
Дата: 26.08.02 03:19
Оценка:
Здравствуйте Boris_R, Вы писали:

BR>Проблема возникла при смене МСОфиса на 2000. OLEAutomation работать перестала


Наверное, поменялись версии некоторых используемых классов. Может быть, и интерфейсов тоже. Например,

BR>WordDocument.InlineShapes.AddOLEObject(ClassType:='Excel.Sheet.8', ...


Excel.Sheet.8 стало Excel.Sheet.9. Лучше использовать просто Excel.Sheet.

BR>FileName:='c:\temp\tab13.xls', ...


А, может, поскольку файл старой версии, то и в нём может быть причина.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[2]: Версии компонентов
От: Boris_R  
Дата: 26.08.02 16:56
Оценка:
Здравствуйте Vi2, Вы писали:

Vi2>Здравствуйте Boris_R, Вы писали:


BR>>Проблема возникла при смене МСОфиса на 2000. OLEAutomation работать перестала

Vi2>Наверное, поменялись версии некоторых используемых классов. Может быть, и интерфейсов тоже. Например,
BR>>WordDocument.InlineShapes.AddOLEObject(ClassType:='Excel.Sheet.8', ...
Vi2>Excel.Sheet.8 стало Excel.Sheet.9. Лучше использовать просто Excel.Sheet.
BR>>FileName:='c:\temp\tab13.xls', ...
Vi2>А, может, поскольку файл старой версии, то и в нём может быть причина.

Спасибо за ответ, я уже сделал: все работает если сделать не так как я писал, а так:
ClassType:='Excel.Sheet.8'; FileName:='c:\temp\tab13.xls'; Linktofile:=False; DisplayAsIcon:=False;
Form17.WordApplication.Selection.InlineShapes.AddOLEObject(ClassType, FileName, Linktofile, DisplayAsIcon, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.