VisualLISP与Excel电子表格0光适配器

2022-08-13 02:37

VisualLISP与Excel电子表格

VisualLISP与Excel电子表格 2011年12月10日 来源: Microsoft Excel 在当今世界上的电子表格应用软件产品中占有绝对的统治地位。我们经常可以看到财会部门或人事部门利用它来处理日常的一些数据。虽然说 Access 在数据处理方面会比Excel好些,但它在一些简单的日常事务中象执行一些快速输入或排序时却不那么方便简单。它是一个常用的事务处理工具。

这10年来,有许多AutoCAD程序是用于将提取数据并将其输出为报告。不论什么原因,它是很必要的。近10年来所见到的除了极少部分外(如Terry Dotson的 http://>

如果你还一直在使用逗号或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 "\\Program Files\\Microsoft Office\\Office\\Excel8.olb")))tlb)( (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office\\Excel9.olb")))tlb)( (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office\\Excel10.olb")))tlb)( (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office\\Excel.exe")))tlb)( (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office10\\Excel.exe")))tlb)))

下一步是加载类型库并定义内部接口的属性、方法和恒量。这些都可以使用任意名称的前缀,该前缀只是用于对外部应用程序的快速及合理地调用。

以下的文章内容将把类型库的前缀均置为斜体以方便区分。

示例2演示了一个简单的函数来加载类型库并判断是否成功返回T或nil:

Figure 2: 定义类型库接口

(defun DSX-Load-TypeLib-Excel ( / tlbfile tlbver out)(cond( (null msxl-xl24HourClock)(if (setq tlbfile (DSX-TypeLib-Excel))(progn(setq tlbver (substr (vl-filename-base tlbfile) 6))(cond( (= tlbver "9")(princ "\n初始化 Microsoft Excel 2000...") )( (= tlbver "8")(princ "\n初始化 Microsoft Excel 97...") )( (= (vl-filename-base tlbfile) "Excel.exe")(princ "\n初始化 Microsoft Excel XP...")))(vlax-import-type-library:tlb-filename tlbfile:methods-prefix "msxl-":properties-prefix "msxl-":constants-prefix "msxl-")(if msxl-xl24HourClock (setq out T)))))( T (setq out T) ))out)

现在你已经在敲Excel的门并且得到“我在家!哪位,有什么事?”这样的回答。你必须温和地回答,象“你好!我这里有一个新的文件想存些数据进来!”

示例3给出了一个简单的函数来打开 Excel 并利用缺省的工作簿(一般为3个工作表)来创建一个新的空白工作簿。工作表1将作为缺省的活动工作表。该函数返回vla-object 指向新的 Excel 进程对象。

Figure 3: 打开带有新的工作簿的 Excel

;;; 注意: <dmode> 可以设为 "SHOW" (显示)或 "HIDE" (隐藏),它取决于你希望;;

福州中科治白癜风好吗

西安专治生殖器疣医院

贵阳儿科有哪些症状

佛山正规男科医院哪家好

淮北不孕不育哪个医院好

相关阅读
最好14日杭州200系冷轧卷板价格行情半圆键非标螺钉金属切削机切卡机铣刀盘Trp

14日杭州200系冷轧卷板价格行情您当前位置:首页 价格行情14日杭州200系冷轧卷板价格行情1PLEXIGLAS 材料利用日趋广泛4日杭州200系滚珠丝杠的准确变压器度最高冷轧卷板价格行情来源:中国五金商机日期:钢种 规格 牌号 钢厂/产地

2024-04-23 01:38
最好商务部生产资料价格上涨大冶轨道球阀路面机械水封闸阀园林工具TRp

商务部:生产资料价格上美标闸阀涨【铝道】商务预报:上周(2月14日至20日)重点监测的生产资料市场价格走高。1#锡价格上涨5.8%。受国际价格走高、原料锡矿价格上涨等因素影响,国内锡价明显走高。上周伦敦金属交易所三个

2024-04-03 05:51
最好2019技术比武集团级天车工技术比武理论测量工具高度计空分设备扫地机压滤机TRp

【2019技术比武】集团级天车工技术比武理论考试圆满结束按照集团公司安排部署,7月16日上午9点,集团级天车工技术比武理论考试在中孚炭素公司培训教室举行,来自高精铝公司、铝业公司和炭素公司的近50名员工参加了考试。

2024-04-02 23:31
最火8日江阴市场工角槽钢价格行情达州光纤转换器六角螺栓双绞线游戏卡Rra

8日江阴市场工角旋臂吊槽钢价格行情您当前位置:经热挤压产出成型的板材首页 价格行情8日江阴市场工角在他走下舷梯的1刻槽钢价格行情8日江阴市场工角槽钢价格行情来源:中国五金卡簧商机日期:品名 规格(控制精度可达0.5m

2024-03-21 18:56
最火江西铜业子公司江铜铸造公司签订新年外销首传送带灌肠器连接器组装梳理机印刷耗材Rra

江西铜业子公司江铜铸造公司签订新年外销首单【铝道】从江西铜业获悉,日前,子公司江铜(德兴万能实验机是1种经常使用的精密实验仪器)铸磁选机造公司与北京环磨科技有限公司签订660吨锻球合同,双方建立长期战略合作

2024-03-21 18:08
最火14410行情价格14410钢厂出货电视插座机顶盒镊子同江终端器Rra

1.4410行情价格1.4410钢厂出货您当前位置:首页 五金材料1.4410行情价格1.4410钢厂出货1.4410行情价格1.4410钢厂出货来源:上海奔来金属材料有限公司日期:作者:吴田1.4410上海奔来金属材料有限公司“立足诚信、携手并进”我们期待与您

2024-03-21 06:33