First, I don't know much about Lisp. I have had the BLK2XL.lsp routine for a while, and it used to work on Release 13. Now I'm using R2000 and I get errors, which I think has to do with spaces being in the path filename but I don't know how to fix it. With the original or revised Lisp routine, I get the following error after running the Lisp routine:
; error: no function definition: APPINIT
==============
Here is the original Lisp file:
(defun C:BLK2XL (/ blk col chnl ct row slset)
(setq row 3)
(setq col 3)
(setq blk (tblnext "BLOCK" 1))
(setq chnl (appinit "excel" "sheet1" "c:\\msoffice\\excel\\excel"))
(while blk
(poke chnl (strcat "r" (itoa row) "c" (itoa col)) (cdr (nth 1 blk)))
(setq slset (ssget "x" (list (nth 1 blk))))
(if (/= slset nil) (setq ct (sslength slset)) (setq ct 0))
(poke chnl (strcat "r" (itoa row) "c" (itoa (+ 1 col))) (itoa ct))
(setq blk (tblnext "BLOCK"))
(setq row (+ row 1))
)
(ddedone)
)
================
Below is the revised lisp routine, which I have replaced the above pathname to reflect the default install location of Excel:
(defun C:BLK2XL (/ blk col chnl ct row slset)
(setq row 3)
(setq col 3)
(setq blk (tblnext "BLOCK" 1))
(setq chnl (appinit "excel" "sheet1" "C:\\Program Files\\Microsoft Office\\Office"))
(while blk
(poke chnl (strcat "r" (itoa row) "c" (itoa col)) (cdr (nth 1 blk)))
(setq slset (ssget "x" (list (nth 1 blk))))
(if (/= slset nil) (setq ct (sslength slset)) (setq ct 0))
(poke chnl (strcat "r" (itoa row) "c" (itoa (+ 1 col))) (itoa ct))
(setq blk (tblnext "BLOCK"))
(setq row (+ row 1))
)
(ddedone)
)
================
Thanks very much for any help.
- posted
19 years ago