visuallisp与excel电子表格

visuallisp与excel电子表格

ID:8809645

大小:58.00 KB

页数:17页

时间:2018-04-08

visuallisp与excel电子表格_第1页
visuallisp与excel电子表格_第2页
visuallisp与excel电子表格_第3页
visuallisp与excel电子表格_第4页
visuallisp与excel电子表格_第5页
visuallisp与excel电子表格_第6页
visuallisp与excel电子表格_第7页
visuallisp与excel电子表格_第8页
visuallisp与excel电子表格_第9页
visuallisp与excel电子表格_第10页
资源描述:

《visuallisp与excel电子表格》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、VisualLISP与Excel电子表格MicrosoftExcel在当今世界上的电子表格应用软件产品中占有绝对的统治地位。我们经常可以看到财会部门或人事部门利用它来处理日常的一些数据。虽然说Access在数据处理方面会比Excel好些,但它在一些简单的日常事务中象执行一些快速输入或排序时却不那么方便简单。它是一个常用的事务处理工具。这10年来,有许多AutoCAD程序是用于将提取数据并将其输出为报告。不论什么原因,它是很必要的。近10年来所见到的除了极少部分外(如TerryDotson的http://www.dotsoft.com/),输出的

2、机制均为输出为ASCII文本文件,或有些是带格式文件。这是因为10年来,我们没有VisualLISP或VBA使程序与其它应用软件相连通并在相互之间传递信息。现在可以了。如果你还一直在使用逗号或TAB分界符的文本来区分你的数据,你应该好好地看看这篇文章了。VisualLISP(VBA也可以)提供了必要的函数来接触和与任何提供了类型库(内部暴露API[应用程序接口程序]的应用程序相联系。通常它是VB或VBA。这一类应用程序包括MicrosoftOffice(Access,Excel,Word,还有象Outlook和PowerPoint),以及象Ma

3、thCAD,Visio、Actrix等产品。在你的代码中的第一件事就是必需在VisualLISP中加载ActiveX/COM。它是通过(vl-load-com)函数来完成的。第一件事尝试与Excel连接上就是搜索Excel的类型库文件。这里使用了Excel2000(9.0)作为例子。示例1演示了怎样通过Excel不同版本来取得与其类型库相关联。注意Excel2002用的是可执行文件来身来代替在以往版本中所使用的分离的TLB或OLB文件。Figure1:加载Excel97类型库(vl-load-com)(defunDSX-TypeLib-Exce

4、l(/sysdrvtlb)(setqsysdrv(getenv"systemdrive"))(cond((setqtlb(findfile(strcatsysdrv"\ProgramFiles\MicrosoftOffice\Office\Excel8.olb")))tlb)((setqtlb(findfile(strcatsysdrv"\ProgramFiles\MicrosoftOffice\Office\Excel9.olb")))tlb)((setqtlb(findfile(strcatsysdrv"\ProgramF

5、iles\MicrosoftOffice\Office\Excel10.olb")))tlb)((setqtlb(findfile(strcatsysdrv"\ProgramFiles\MicrosoftOffice\Office\Excel.exe")))tlb)((setqtlb(findfile(strcatsysdrv"\ProgramFiles\MicrosoftOffice\Office10\Excel.exe")))tlb)))下一步是加载类型库并定义内部接口的属性、方法和恒量。这些都可以使用任意名称的前缀,

6、该前缀只是用于对外部应用程序的快速及合理地调用。以下的文章内容将把类型库的前缀均置为斜体以方便区分。示例2演示了一个简单的函数来加载类型库并判断是否成功返回T或nil:Figure2:定义类型库接口(defunDSX-Load-TypeLib-Excel(/tlbfiletlbverout)(cond((nullmsxl-xl24HourClock)(if(setqtlbfile(DSX-TypeLib-Excel))(progn(setqtlbver(substr(vl-filename-basetlbfile)6))(cond((=tlbv

7、er"9")(princ"初始化MicrosoftExcel2000..."))((=tlbver"8")(princ"初始化MicrosoftExcel97..."))((=(vl-filename-basetlbfile)"Excel.exe")(princ"初始化MicrosoftExcelXP...")))(vlax-import-type-library:tlb-filenametlbfile:methods-prefix"msxl-":properties-prefix"msxl-":constants-prefix"m

8、sxl-")(ifmsxl-xl24HourClock(setqoutT)))))(T(setqoutT)))out)现在你已经在敲Excel的门并且

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。