Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Как связать TExcelWorkBook с объектом xApp = GetActiveObject(xl);   Найти похожие ветки 

 
serg128 ©   (2004-04-23 12:08) [0]

Т.е. проблема такая: создаю экземпляр Excel:

Variant xApp, prop;
Excel_2k::_WorkbookPtr v;

 try
 {
  xApp = Variant::GetActiveObject("Excel.Application");
 }
   catch(...)
   {    
    try
     {
       xApp = Variant::CreateObject("Excel.Application");
     }
       catch(...){}
    }

   xApp.OlePropertySet("Visible", true);
   xApp.OlePropertyGet("WorkBooks").OleProcedure("add");
   prop = xApp.OlePropertyGet("ActiveWorkBook");

На форме лежит компонент типа TExcelWorkBook, мне его нужно связать с созданным экземпляром Excel. Помогите плиз.

P.S. пользоваться TExcelApplication просьба не предлагать, понимаю что это бред, но нужно сделать именно так.


 
Alex*   (2004-04-23 12:56) [1]


> serg128 ©   (23.04.04 12:08)  

На сайте Королевство DELPHI есть с три статьи "По волнам интеграции" там  написано как раз то что нужно
А связать можно
function TForm1.IExcelApp(Template : OleVariant):TExcelApplication;
begin
   IBookPrice := TExcelApplication.Create(Self);
   IBookPrice.ConnectKind := ckNewInstance;
   IBookPrice.Connect;
   if IBookPrice[0].WindowState[0] = TOLEEnum(xlMinimized) then
     IBookPrice.WindowState[0] := TOLEEnum(xlNormal);
   IBookPrice.ScreenUpdating[0] := true;
   IBookPrice.Workbooks.Add(Template, 0);
   Result:= IBookPrice;
end;

IBookPrice: TExcelApplication


 
serg128 ©   (2004-04-23 13:14) [2]

Спасибо, я похоже разобрался -> Нужно в свойствах ConnectionKind указать RunningOrNew. Поправьте меня, если я неправ.


 
Alex*   (2004-04-23 14:12) [3]


> serg128 ©   (23.04.04 13:14) [2]

Точно, это св-во ConnectionKind.
RunningOrNew - подсоединить или новый объект, если ничего не найдет к чему подсоединится то создает новый.
Поэкспереметтируй с этим свойством и сам все поймеш.
Затем следует

>TExcelApplication1.Connect;
>TExcelApplication1.Workbooks.Add(Template, 0);

Вместо Template можно указать лубой путь к шаблону или новому документу



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
3-1079166634
anatolyk
2004-03-13 11:30
2004.04.11
Ширина колонки в DBGRIDEH (...EH!)


7-1080148513
beard
2004-03-24 20:15
2004.04.11
Мультизагрузка в Windows XP


9-1064929260
TButton
2003-09-30 17:41
2004.04.11
SFire


4-1075411194
pirat
2004-01-30 00:19
2004.04.11
как поставить TrackMouseEvent ?


8-1070754238
Byggerr
2003-12-07 02:43
2004.04.11
Как вращать Ellipse по кругу или другие фигуры???