找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3240|回复: 7

[求助] vlax-get-property 得到的结果如何转换成lisp结果

[复制链接]

已领礼包: 1757个

财富等级: 堆金积玉

发表于 2013-5-11 09:36:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
Examples:
[pcode=lisp,true]
(vlxls-sheet-get-usedrange *xlapp* "Sheet1")  ==>  "A1:AW35"
(vlxls-sheet-get-usedrange *xlapp* "NewSheet")  ==>  "A1:AW35"
|;
;0·获取指定页面的使用区域
(defun vlxls-sheet-get-UsedRange (xlapp Name / sh Rtn)
   (if (null Name)
      (setq Name (vlax-get-property (msxl-get-ActiveSheet Xlapp) 'Name))
   )
   (vlax-for sh (vlax-get-property Xlapp "sheets" )
      (if (= (vlax-get-property sh "Name" ) Name)
         (setq Rtn (vlax-get-property sh "UsedRange" ))
      )
   )
   Rtn
)
[/pcode]
现在用这个函数取得的结果不知道如何转换 例子中的结果不是实际的结果

实际结果是这样的:#<VLA-OBJECT Range 06d84714>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1742个

财富等级: 堆金积玉

发表于 2013-5-11 10:01:06 | 显示全部楼层
;将VLA对象 转换为 AutoLISP类型的对象名
(defun  XX-O2E (oname)
(vlax-vla-object->ename oname)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

 楼主| 发表于 2013-5-11 10:23:33 | 显示全部楼层
结果不行 转换不过来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

 楼主| 发表于 2013-5-11 10:27:39 | 显示全部楼层
Rtn 为结果值是:#<VLA-OBJECT Range 06d84714>
(vlax-vla-object->ename Rtn) 结果返回nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

 楼主| 发表于 2013-5-11 10:54:51 | 显示全部楼层
自己解决了 原来做过自己都忘了
vlxls-range-getID 这个就行了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-5-11 13:09:01 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

 楼主| 发表于 2013-5-11 13:11:34 | 显示全部楼层
XDSoft 发表于 2013-5-11 13:09
把完整可用的代码贴上来吧。

(defun vlxls-range-getID (range / str col row dx dy)
   (if (equal (vlxls-get-property range "mergecells" ) :vlax-true)
      (setq str "MergeArea." )
      (setq str "" )
   )
   (setq dx (vlxls-get-property range (strcat str "Rows.Count" ))
         dy (vlxls-get-property range (strcat str "Columns.Count" ))
         row (vlxls-get-property range (strcat str "Row" ))
         col (vlxls-get-property range (strcat str "Column" ))
   )
   (strcat (vlxls-rangeid (list col row)) ":" (vlxls-rangeid (list (1- (+ col dy)) (1- (+ row dx)))))
)

贴出来了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1757个

财富等级: 堆金积玉

 楼主| 发表于 2013-5-11 13:12:30 | 显示全部楼层
论坛里下载xls操作函数帮助文件吧 都有
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-1 21:34 , Processed in 0.405481 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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