找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1177|回复: 2

[VBA函数]:请问灯火: 如何从VBA移植Excel 属性/方法到vlisp?

[复制链接]
发表于 2002-6-14 11:43:30 | 显示全部楼层 |阅读模式

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

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

×
请问灯火: 如何从VBA移植Excel 属性/方法到vlisp?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-6-14 14:43:37 | 显示全部楼层
用vlisp/activex写程序,可以参考微软的 Excel VBA 参考手册
以下样例代码可以参考,更多的转换还需自己琢磨和试探。
-----------------------------------------------
(setq FirstCell (vlax-get-property CurrentSheet 'Range "A1"))
(vlax-invoke-method FirstCell 'Activate)
(setq UsedRange (vlax-get-property FirstCell 'CurrentRegion))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-6-15 23:23:41 | 显示全部楼层

Re: [VBA函数]:请问灯火: 如何从VBA移植Excel 属性/方法到vlisp?

最初由 xueer 发布
[B]请问灯火: 如何从VBA移植Excel 属性/方法到vlisp? [/B]

多看看Acad自带的帮助文档

VLISP 提供了一个 AutoLISP 函数,可输入要访问的 ActiveX 应用程序的类型库。输入类型库时,AutoCAD 会创建包装函数集,让您能访问应用程序的方法和特性。实际上,您看到的 vla- 函数就是由 AutoCAD 类型库创建的包装函数集。
可使用函数 vlax-import-type-library 输入类型库。当调用该函数时,请指定类型库,并告诉 AutoCAD 用什么前缀命名应用程序的方法和特性的包装函数,还需要为应用程序的常量指定一个前缀。vlax-import-type-library 函数的语法如下所示:

(vlax-import-type-library :tlb-filename filename
[ :methods-prefix mprefix  :properties-prefix pprefix :constants-prefix cprefix])

filename 参数是一个指定类型库名称的字符串,如果不指定路径,AutoCAD 将在支持文件搜索路径中搜索该文件。
mprefix 参数指定方法包装函数所用的前缀。例如,如果类型库有一个 Calculate 方法,而 mprefix 参数被设为 "cc-",AutoCAD 将生成一个名为 cc-Calculate 的包装函数。该参数的缺省值是 ""。
pprefix 参数指定特性包装函数所用的前缀,而 cprefix 参数则定义类型库中常量所用的前缀,这些参数的缺省值也是 ""。

注意将参数传给 vlax-import-type-library 时要求使用的关键字。例如,下列代码输入一个 Microsoft Word 类型库,指定方法的前缀为 mswm-,特性前缀为 mswp-,常量前缀为 mswc-:

(if (equal nil mswc-wd100Words) ; 检查 WinWord 常量
  (vlax-import-type-library
    :tlb-filename "c:/Microsoft Office/Office/msword8.olb"
    :methods-prefix "mswm-"
    :properties-prefix "mswp-"
    :constants-prefix "mswc-"
  )

)

输入类型库之后,可以用 VLISP 的自动匹配功能列出输入产生的所有 ActiveX 包装函数。例如,在“自动匹配选项”对话框中输入 mswm
并选择“按前缀匹配”选项,可列出所有 Microsoft Word ActiveX 方法。
输入应用程序的类型库之后,可以将 VLISP 功能(如自动匹配功能等)应用到应用程序的特性和方法上,但即使不输入类型库,也可以访问应用程序。详细信息请参见在不输入类型库时使用 ActiveX。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 05:26 , Processed in 0.418286 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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