admin管理员组文章数量:1565292
2024年6月20日发(作者:)
Visual LISP与Excel电子表格
Microsoft Excel 在当今世界上的电子表格应用软件产品中占有绝对的统治地位。我
们经常可以看到财会部门或人事部门利用它来处理日常的一些数据。虽然说 Access 在数
据处理方面会比Excel好些,但它在一些简单的日常事务中象执行一些快速输入或排序时
却不那么方便简单。它是一个常用的事务处理工具。
这10年来,有许多AutoCAD程序是用于将提取数据并将其输出为报告。不论什么原
因,它是很必要的。近10年来所见到的除了极少部分外(如Terry Dotson的
/), 输出的机制均为输出为 ASCII文本文件,或有些是带格式文
件。这是因为10年来,我们没有 Visual LISP 或 VBA 使程序与其它应用软件相连通并
在相互之间传递信息。现在可以了。
如果你还一直在使用逗号或TAB分界符的文本来区分你的数据,你应该好好地看看这
篇文章了。
Visual LISP (VBA也可以) 提供了必要的函数来接触和与任何提供了类型库(内部暴露
API[应用程序接口程序]的应用程序相联系。通常它是VB或VBA。这一类应用程序包括
Microsoft Office (Access, Excel, Word, 还有象Outlook 和 PowerPoint), 以及象
MathCAD, Visio、Actrix等产品。
在你的代码中的第一件事就是必需在Visual LISP中加载ActiveX/COM。它是通过
(vl-load-com) 函数来完成的。第一件事尝试与 Excel 连接上就是搜索Excel的类型库文
件。这里使用了Excel 2000 (9.0) 作为例子。示例1演示了怎样通过Excel不同版本来取
得与其类型库相关联。注意 Excel 2002 用的是可执行文件来身来代替在以往版本中所使
用的分离的TLB或OLB文件。
Figure 1: 加载Excel 97 类型库
(vl-load-com)
(defun DSX-TypeLib-Excel ( / sysdrv tlb)
(setq sysdrv (getenv "systemdrive"))
(cond
( (setq tlb (findfile (strcat sysdrv
")))
tlb
)
( (setq tlb (findfile (strcat sysdrv
")))
tlb
)
"Program FilesMicrosoft
"Program FilesMicrosoft
版权声明:本文标题:Visual LISP与Excel电子表格 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1718828069a730405.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论