Thanks Bill & David.  I think I have it working.

Henry


David Mitchell wrote:
> Henry Rich wrote:
>> I can bring up the tables\excel addon and read blocks of cells.
>>
>> Now I want to set the value of a cell or block of cells.
>>
>> Can anyone show me how to do this, or point to some reference that 
>> discusses what the OLE commands to Excel are?
>>
>> I tried
>>
>> wd 'oleinfo xl;'
>>
>> xl is the name of the child control created by tables\excel: the sequence is
>>
>> wd 'cc xl oleautomation:excel.application'
>> T__ =: wd 'oleinfo xl;'
>>
>> but it fails, giving
>>
>>     wd 'qer'
>> bad child class : 0
>>
>> Is oleinfo still supported?
>>
>> I just can't find any way to get started writing a cell.
>>
>> Henry Rich
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
> 
> Here is a fragment I have used for years.  Pardon the loops.
> 
>      require 'system\examples\ole\excel\xlutil.ijs'
> 
>      foo=. ('Path';'Files';'Bytes';'1st Date';'End Date'), foo\: 2{"1 foo
>      xlopen ''
>      xlcmd 'wb add'
>      xlget 'temp worksheets'
>      xlid 'ws'
>      xlget 'ws item sheet1'
>      xlid 'sh1'
> 
>      for_i. i.{.$foo do.
>        for_j. i.{:$foo do.
>          xlget 'sh1 cells ',": 1+i,j
>          dat=. >j{i{foo
>          if. (j>2)*(i>0) do.
>           dat=.xldatefmt dat
>          end.
>          qt=. (2=(3!:0)dat){' "'
>          if. 0<#dat  do.
>           xlset 'temp value ',qt,(":dat),qt
>           if. (j=0)*(i>0) do.
>            xlcmd 'temp activate'
>            if. ':'={:dat do. dat=.dat,'\' end.
>            xlwritel '"file://',(":dat),'"'
>          end.
>          end.
>        end.
>      end.
> 
>      xlget 'sh1 columns b:c '
>      xlset 'temp NumberFormat "#,##0"'
>      xlget 'sh1 columns a:e '
>      xlcmd 'temp activate'
>      xlcmd 'temp autofit'
>      jdir=. '_' ((jdir=':')#i.$jdir)}jdir
>      jdir=. ('.' ((jdir='\')#i.$jdir)}jdir),'>',(":limit)
>      xlset 'sh1 name "',((-31<.$jdir){.jdir),'"'
>      xlget 'sh1 cells ',": 1 1
>      xlcmd 'temp activate'
> 
>      xlshow 1
> 
> --
> cheers,
> David Mitchell
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to