Re: OLE2 and Excel

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: 2000/05/16
Message-ID: <958493255.15373.0.pluto.d4ee154e_at_news.demon.nl>#1/1


[Quoted] This is a Microsux specific question, so off-topic, but anyway... By setting the objects to NULL;
set application := NULL etc.

Hth,

Sybrand Bakker, Oracle DBA

<phwp_at_my-deja.com> schreef in berichtnieuws 8fr6lt$m2b$1_at_nnrp1.deja.com...
> I am using OLE2 for automation Excel.
> I do:
>
> declare
> application OLE2.OBJ_TYPE;
> workbooks OLE2.OBJ_TYPE;
> workbook OLE2.OBJ_TYPE;
> worksheets OLE2.OBJ_TYPE;
> worksheet OLE2.OBJ_TYPE;
> cell OLE2.OBJ_TYPE;
> args OLE2.LIST_TYPE;
> begin
> application:=OLE2.CREATE_OBJ('Excel.Application');
> workbooks:=OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
> workbook:=OLE2.INVOKE_OBJ(workbooks, 'Add');
> worksheets:=OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
> worksheet:=OLE2.INVOKE_OBJ(worksheets, 'Add');
>
> args:=OLE2.CREATE_ARGLIST;
> OLE2.ADD_ARG(args, 1);
> OLE2.ADD_ARG(args, 1);
> cell:=OLE2.GET_OBJ_PROPERTY(worksheet, 'Cells', args);
> OLE2.DESTROY_ARGLIST(args);
> OLE2.SET_PROPERTY(cell, 'Value', Val);
>
> args:=OLE2.CREATE_ARGLIST;
> OLE2.ADD_ARG(args, FileName);
> OLE2.INVOKE(workbook,'SaveAs', args);
> OLE2.DESTROY_ARGLIST(args);
> OLE2.INVOKE(workbook,'Close');
>
> OLE2.INVOKE(application, 'Quit');
>
> OLE2.RELEASE_OBJ(cell);
> OLE2.RELEASE_OBJ(worksheet);
> OLE2.RELEASE_OBJ(worksheets);
> OLE2.RELEASE_OBJ(workbook);
> OLE2.RELEASE_OBJ(workbooks);
> OLE2.RELEASE_OBJ(application);
> end;
>
> And after execution of this procedure Excel stay in memory.
> How to remove Excel from the memory?
>
> Philippe.
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
Received on Tue May 16 2000 - 00:00:00 CEST

Original text of this message