明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3221|回复: 8

[已解答] 怎么把cad里面提取的字符串值写到EXCEL指定单元格中去

  [复制链接]
发表于 2016-7-29 12:23:50 | 显示全部楼层 |阅读模式
怎么把cad里面提取的字符串值写到EXCEL指定单元格中去。EXCCEL已经打开,但是不能执行。麻烦指点一下,刚开始学习操作excel不大会

(defun C:EC2()
(vl-load-com)
(setq str "新版图框标准")
(setq excelapp0 (vlax-get-object "Excel.Application"))
;;excel程序对象,Application 对象
(setq activeworkbook0 (vlax-get-property excelapp0 'ActiveWorkbook))
;;excel工作簿对象
(setq activesheet0 (vlax-get-property activeworkbook0 'ActiveSheet))
;;excel工作表对象
(setq cells0 (vlax-get-property activesheet0 'cells))
;;excel单元格对象
(vlxls-cell-put-value activesheet0 "A11" str)
)

(defun vlxls-cell-put-value
   (xl id Data / vllist-explode idx xx yy ary Rtn)
   (defun
vllist-explode (lst)
      (cond
         ((not lst) nil)
         ((atom lst) (list lst))
         ((append (vllist-explode (car lst))
                        (vllist-explode (cdr lst))
               )
         )
      )
   )
   (if (null id) (setq id "A1" ))
   (if (= (type id) 'list) (setq id (vlxls-rangeid id)))
   (if (= (type (car Data)) 'LIST)
      (setq   ARY    (vlax-make-safearray
                     vlax-vbstring
                     (cons 0 (1- (length Data)))
                     (cons 1 (length (car Data)))
                  )
            XX (1- (length (car Data)))
            YY (1- (length Data))
      )
      (setq   ARY    (vlax-make-safearray
                     vlax-vbstring
                     (cons 0 1)
                     (cons 1 (length Data))
                  )
            XX (1- (length Data))
            YY 0
      )
   )
   (if (= xx yy 0)
      (msxl-put-value2
         (setq Rtn (msxl-get-range xl id))
         (car (vllist-explode data))
      )
      (progn
         (setq id (vlxls-cellid-calc id xx yy))
         (msxl-put-value2
            (setq Rtn (msxl-get-range xl id))
            (vlax-safearray-fill ary data)
         )
      )
   )
   Rtn
)
发表于 2016-7-30 08:55:28 | 显示全部楼层
缺少函数                                 
 楼主| 发表于 2016-7-30 09:53:38 | 显示全部楼层
永不言弃 发表于 2016-7-30 08:55
缺少函数

能否更明白些
 楼主| 发表于 2016-7-30 09:54:11 | 显示全部楼层
永不言弃 发表于 2016-7-30 08:55
缺少函数

能否更明白些,没有提示缺函数
发表于 2016-7-30 09:58:57 | 显示全部楼层
msxl-put-value2   msxl-get-range   msxl-put-value2   msxl-get-range
这些函数都没有
发表于 2016-8-2 11:09:16 | 显示全部楼层
最近正好也在研究这个,附件是必备函数,首先要初始化

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 2明经币 +2 收起 理由
USER2128 + 1 很给力!
xyz2009xyz + 1 虽然这本书已经有了,主要初始化开始没搞好

查看全部评分

 楼主| 发表于 2016-8-2 11:45:25 | 显示全部楼层
fan_zh 发表于 2016-8-2 11:09
最近正好也在研究这个,附件是必备函数,首先要初始化

多谢,刚开始不会,现在已经可以基本操作写入读出了。互相交流。
发表于 2016-8-3 01:33:54 | 显示全部楼层
要先初始化好了才能使用它的函数
另外,对于有的GHOST版系统直接安装好的msoffice的情况,有可能
(vlax-get-object "Excel.Application")或者(vlax-creat-object "Excel.Application")不能成功获取或者创建excel对象,它甚至可以导致初始化无法成功,或者初始化后也可能无法正常获取或者创建excel对象而无法使用
如果碰到这种问题,自己安装msoffice就可以了
发表于 2016-8-25 15:36:31 | 显示全部楼层
llsheng_73 发表于 2016-8-3 01:33
要先初始化好了才能使用它的函数
另外,对于有的GHOST版系统直接安装好的msoffice的情况,有可能
(vlax-g ...

你好,请问有没有vlisp方面的书,很想系统学一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-27 19:02 , Processed in 0.174316 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表