设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

12
返回列表 发新帖

[求助] 分割字符串,错在什么地方?(Lisp调用VBA函数)

[复制链接]

签到天数: 278 天

连续签到: 1 天

[LV.8]以坛为家I

已领礼包: 450个

财富等级: 日进斗金

发表于 2016-11-21 14:30:58 | 显示全部楼层
又搜到:


  1. 确定使用最新版的ScriptControl,确定
  2. 以管理员身份运行
  3. 以XP兼容模式运行

  4. 在64位Windows下:
  5. 64位exe和dll在目录c:\windows\system32目录下;
  6. 32位exe和dll在目录c:\windows\syswow64目录下;
  7. 所以要注意:
  8.     在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
  9.     且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll

复制代码


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

使用道具 举报

签到天数: 1282 天

连续签到: 4 天

[LV.10]以坛为家III

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-1-3 20:12:50 | 显示全部楼层

我搜到的解决办法如http://bbs.xdcad.net/thread-706702-1-1.html 6楼,但lisp怎么写还没有试过
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 119 天

连续签到: 1 天

[LV.6]常住居民II

发表于 2017-1-4 03:37:55 来自手机 | 显示全部楼层
64位的机器和32位的大不同。估计我那个VLISP控制IE网页的程序也是这个原因
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 965 天

连续签到: 17 天

[LV.10]以坛为家III

已领礼包: 1982个

财富等级: 堆金积玉

发表于 2017-1-4 14:20:43 | 显示全部楼层

版主这么烂的代码收费也太市侩了,调用了N+1次控件,效率非常低下。其实只要调用 一次就够了,生成字符串后用eval得到lisp列表就OK
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

签到天数: 1282 天

连续签到: 4 天

[LV.10]以坛为家III

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-1-4 14:39:25 | 显示全部楼层

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

使用道具 举报

签到天数: 685 天

连续签到: 2 天

[LV.9]以坛为家II

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-1-4 16:53:06 | 显示全部楼层

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

使用道具 举报

签到天数: 965 天

连续签到: 17 天

[LV.10]以坛为家III

已领礼包: 1982个

财富等级: 堆金积玉

发表于 2017-1-4 17:40:01 | 显示全部楼层
方法我都说了,还要我把代码给你写好。好吧,为你们的懒买单吧。
游客,本付费内容需要支付 10D豆 才能浏览   这是一个广告位购买


点评

aeo
你分割一下这句 "ab,c"不是"ab,cd",更不是"ab,\cd"  发表于 2017-1-7 19:47
代码还不错,sum可以这样用。来一个VBScript吧?  发表于 2017-1-5 15:18

评分

参与人数 1D豆 +5 收起 理由
/db_自贡黄明儒_ + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

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

使用道具 举报

签到天数: 685 天

连续签到: 2 天

[LV.9]以坛为家II

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-1-4 18:03:46 | 显示全部楼层

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

使用道具 举报

签到天数: 278 天

连续签到: 1 天

[LV.8]以坛为家I

已领礼包: 450个

财富等级: 日进斗金

发表于 2017-1-7 12:06:26 | 显示全部楼层
本帖最后由 aeo 于 2017-1-7 12:08 编辑

lisp直接写,也就几行代码而已。

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

使用道具 举报

签到天数: 278 天

连续签到: 1 天

[LV.8]以坛为家I

已领礼包: 450个

财富等级: 日进斗金

发表于 2017-1-7 12:32:29 | 显示全部楼层
本帖最后由 aeo 于 2017-1-7 12:34 编辑

况且,你加了一堆的引号,原文字里面本身就有引号怎么办。更不要说其他特殊符号。
等你在那一堆里面判断清楚,大概比lisp直接写要代码多很多了吧


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

使用道具 举报

签到天数: 25 天

连续签到: 2 天

[LV.4]偶尔看看III

已领礼包: 29个

财富等级: 恭喜发财

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

使用道具 举报

签到天数: 1282 天

连续签到: 4 天

[LV.10]以坛为家III

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-1-9 20:01:58 | 显示全部楼层
本帖最后由 /db_自贡黄明儒_ 于 2017-1-9 20:04 编辑

这个代码很有意思的呀,如何使用VB的自定义函数,只不过是JScript如果是VBScript就更好了。你的代码也不错,提供了一种如何处理VB中的数组的方法。

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

使用道具 举报

签到天数: 1282 天

连续签到: 4 天

[LV.10]以坛为家III

已领礼包: 604个

财富等级: 财运亨通

 楼主| 发表于 2017-9-12 16:41:58 | 显示全部楼层

您的成功,是我的动力
  1. ;;http://bbs.xdcad.net/thread-706184-1-1.html by aeo
  2. ;;(Split1 "滋S味C滋D味C如" "味C") => ("滋S" "滋D" "如")
  3. ;;(Split1 "滋S味C 滋D味C如" "") => ("滋" "S" "味" "C" " " "滋" "D" "味" "C" "如")
  4. (defun Split1 (str deli / A FUNC LST N STR1)
  5.   (or *wscript*
  6.       (setq *wscript* (vlax-create-object "ScriptControl"))
  7.   )
  8.   (vlax-put *wscript* "language" "JScript")
  9.   (setq func (strcat "function aa(bb){x=bb.split("  (VL-PRIN1-TO-STRING deli) ");return x.length;}"))
  10.   (vlax-invoke *wscript* 'AddCode func)
  11.   (setq str1 (strcat "aa(\"" str "\")"))
  12.   (setq n (vlax-invoke *wscript* 'eval str1))
  13.   (repeat n
  14.     (setq n (1- n))
  15.     (setq func (strcat "function aa(bb){x=bb.split(" (VL-PRIN1-TO-STRING deli) ");return x[" (VL-PRIN1-TO-STRING n) "];}"))
  16.     (vlax-invoke *wscript* 'AddCode func)
  17.     (setq str1 (strcat "aa(\"" str "\")"))
  18.     (setq a (vlax-invoke *wscript* 'eval str1))   
  19.     (setq lst (cons a lst))
  20.   )
  21. )
  22. ;;(Split2 "滋S味C滋D味C如" "味C") => ("滋S" "滋D" "如")
  23. ;;(Split2 "滋S味C 滋D味C如" " ")出错
  24. (defun Split2 (str deli /  FUNC STR1)
  25.   (or *wscript*
  26.       (setq *wscript* (vlax-create-object "ScriptControl"))
  27.   )
  28.   (vlax-put *wscript* 'language "vbs")
  29.   (setq func "function aa(str , deli) \n aa = Split(str,deli,-1,1)\n End Function")
  30.   (vlax-invoke *wscript* 'AddCode func)
  31.   (setq str1 (strcat "aa(" (VL-PRIN1-TO-STRING str) "," (VL-PRIN1-TO-STRING deli) ")"))
  32.   (vlax-invoke *wscript* 'eval str1)
  33. )

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-6-20 22:53 , Processed in 0.210309 second(s), 61 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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