Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> доступ к содержимому TOleContainer 
:(
    Опции темы
Alexander06
Дата 8.8.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



В приложении на Delphi надо работать с Excel. Использую TOleContainer и не могу разобраться, как получить доступ к объекту, загруженному в него. OleContainer1.OleObject говорит что такой интерфейс не поддерживается.
Лист Excel-я добавляю в контейнер на этапе компиляции. Может быть надо сперва создать его как объект, а потом подключить к TOleContainer?
Дело в том, что потом понадобиться программно обращаться к содержимому листа.
Заранее спасибо.
PM MAIL   Вверх
Alexander06
Дата 9.8.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Необходимо при запуске программы открывать документ Excel в OleContainer.
Для этого создал функцию Init, которая вызывается следующим образом
Код

program Project2;

uses
  Forms,
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Init();
  Application.Run;
end. 


Сама функция имеет следующее содержание:
Код

procedure Init;
begin
Form2.OleContainer1.AutoActivate:=aaManual;
Form2.OleContainer1.DoVerb(ovShow);
AV := Form2.OleContainer1.OleObject;
AV.Workbooks.Open('C:\Edit1.xls');
end;



При выполнении открытия файла сообщается об ошибке Excel'я.
Может быть, я неправильно делаю эту операцию?

PM MAIL   Вверх
YurikGL
Дата 14.8.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: 2
Всего: 2



Процедуру init выноси в FMain.OnShow

Доступ, если я правильно помню, делается так
Form2.OleContainer1.oleobject.ActiveSheet...
и т.д....

Короче, работай с Form2.OleContainer1.oleobject - как с TExcelWorkBook
--------------------
 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.