I tried the modified code and it now fails here:

|domain error: test
|   oleget__p me    ;base;'workbooks'
|test[7]

I cannot find any definition of me.

--
David Mitchell

On 10/4/2010 10:24, bill lam wrote:
> I'm sorry, the original code was written some years ago but wdooo was
> written later and stopped. The name me should already be stored inside
> wdooo. Try if this works, beware possible line wrapping, and I'm not sure
> if f1 should contain the prefix 'file:////'
>
> <  ----------------------------------------------------------------------->
> NB. Excel using vtable oleautomation
> NB. only works if ms office excel has been installed
> NB. (but I got no ms excel to test, use at your own risk.)
>
> 'require'~'tables/wdooo'
>
> cocurrent 'base'
>
> NB. MS Office Excel
> NB. some differences from VBA
> NB. cell position is (col,row) and 1-base
> NB. use olemethod and oleget/oleset
> test=: 3 : 0
> PATH=. jpath '~addons/tables/wdooo'
> f1=. 'file:///', PATH, '/test1.xls'
> smoutput f1
> p=. '' conew 'wdooo'
> try.
>    'base temp'=. olecreate__p 'Excel.Application'
>    oleget__p base ; 'workbooks'
>    wb=. oleid__p temp
>    olemethod__p wb ; 'open' ; f1
>    oleget__p base ; 'activeworkbook'
>    awb=. oleid__p temp
>    oleget__p awb ; 'worksheets' ; 1     NB. sheet 1-base
>    aws=: oleid__p temp
> NB. write string into a cell
>    oleget__p aws ; 'range' ; xlcell 3 10
>    range=. oleid__p temp
>    oleput__p range ; 'value' ; 'Ms Excel'
>    oleput__p range ; 'numberformat' ; '@'
>    olerelease__p range
> NB. write number into a cell
>    oleget__p aws ; 'range' ; xlcell 4 10
>    range=. oleid__p temp
>    oleput__p range ; 'value' ; 123
>    oleput__p range ; 'HorizontalAlignment' ; _4152    NB. xlRight  0xffffefc8
>    olerelease__p range
> NB. write date into a cell
>    oleget__p aws ; 'range' ; xlcell 5 10
>    range=. oleid__p temp
>    oleput__p range ; 'value' ; (-&36522) 76533        NB. 2007-2-28
>    oleput__p range ; 'numberformat' ; 'yyyy-mmm-dd'
>    olerelease__p range
> NB. save and cleanup
>    (olerelease__p ::0:) aws
>    VT_BOOL (oleput__p ::0:) base ; 'DisplayAlerts' ; 0
>    (olemethod__p ::0:) awb ; 'save'
>    (olemethod__p ::0:) awb ; 'close'
>    (olerelease__p ::0:) awb
>    (olerelease__p ::0:) wb
>    (olemethod__p ::0:) base ; 'quit'
>    VT_BOOL (oleput__p ::0:) base ; 'DisplayAlerts' ; 1
>    (oledestroy__p ::0:) temp
>    smoutput 'success'
> catch.
>    smoutput oleqer__p ''
> end.
> destroy__p ''
> )
>
> xlcell=: 3 : 0
> 'c r'=. y
> c1=.<.c%26 [ c2=. 26|c
> ' '-.~(c1{' ABCDEFGHI'), (c2{'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), ": 1+r
> )
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to