本帖最后由 作者 于 2009-2-12 11:56:51 编辑
首先再次感谢明经通道,让我学到了太多的LISP相关知识,尤其是http://www.mjtd.com/a2/list.asp?id=348对我的帮助最大。在使用本贴过程中,我发现Figure 1和示例7做如下调整似乎更好: ;;; 1、加载EXCEL类型库,已修改为直接寻找EXCEL的安装路径,支持EXCEL97、2000、2002、2003、2007 ;;; 注:OFFICE97为Excel8.olb,OFFICE2000为Excel9.olb ,OFFICE2002为Excel10.olb,之后的版本均为Excel.exe ;;; 修改原因:当EXCEL安装路径不在C盘或不是默认路径时,原程序调用失败。 (defun DSX-TypeLib-Excel (/ path tlb) (if (setq obj (vlax-create-object "Excel.Application")) (progn (setq path (vlax-get-property obj 'Path)) (cond ((setq tlb (findfile (strcat path "\\Excel8.olb" ) ) ) tlb ) ((setq tlb (findfile (strcat path "\\Excel9.olb" ) ) ) tlb ) ((setq tlb (findfile (strcat path "\\Excel10.olb" ) ) ) tlb ) ((setq tlb (findfile (strcat path "\\Excel.exe" ) ) ) tlb ) ) ) (alert "本系统内未发现已安装的 EXCEL97、2000、2002、2003、2007,初始化失败!" ) ) ) 参照:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=59763 示例7: 将第二行的msxl-put-value改为msxl-put-value2,解决在EXCEL2003和2007中写入失败的问题。 注:因为本人一直使用EXCEL2003和2007,不知在EXCEL老版本中是否正常。 参照:http://www.mjtd.com/bbs/Archive_view.asp?boardID=3&ID=39367 取之于明,用之于明! |