自贡黄明儒 发表于 2013-10-11 11:26:38

自定义计算器(MyCal "(2+3)^2*5")

;;自定义计算器(MyCal "(2+3)^2*5")
;;05以上(cal "(2+3)*5")(c:cal "(2+3)*5")可以运行。04可以不加载(ARXLOAD "GEOMCAL")而自定义
;;示例(MyCal "(2+3)^2*5");返回125.0
(defun MyCal (express / STR)
(setq str (strcat "dim ret \n ret=" express))
(or *wscript*
      (setq *wscript* (vlax-create-object "ScriptControl"))
)
(vlax-put *wscript* 'language "vbs")
(vlax-invoke-method *wscript* 'ExecuteStatement str)
(vlax-invoke-method *wscript* 'eval "ret")
)

highflybir 发表于 2013-10-11 11:46:14

这个方法好,不过有局限,因为不能在64位系统下创建 ScriptControl

自贡黄明儒 发表于 2013-10-11 11:49:31

本帖最后由 自贡黄明儒 于 2013-10-11 11:53 编辑

highflybir 发表于 2013-10-11 11:46 http://bbs.mjtd.com/static/image/common/back.gif
这个方法好,不过有局限,因为不能在64位系统下创建 ScriptControl

是这样呀,那么64位下都不能用ScriptControl了?我正看微软Vbscript手册vbs.chm呢.

emk 发表于 2013-10-11 11:49:37

老大能否改进下64位的问题?

vectra 发表于 2013-10-11 14:08:20

.net吧 VBA前景堪忧啊
页: [1]
查看完整版本: 自定义计算器(MyCal "(2+3)^2*5")