cad二次开发利用excel文件绘制三维巷道图.docVIP

  • 106
  • 0
  • 约3.93万字
  • 约 36页
  • 2017-09-12 发布于广东
  • 举报

cad二次开发利用excel文件绘制三维巷道图.doc

cad二次开发利用excel文件绘制三维巷道图

;;; 1、加载EXCEL类型库,已修改为直接寻找EXCEL的安装路径,支持EXCEL97、2000、2002、2003、2007 ;;; 注:OFFICE97为Excel8.olb,OFFICE2000为Excel9.olb ,OFFICE2002为Excel10.olb,之后的版本均为Excel.exe ;;; 修改原因:当EXCEL安装路径不在C盘或不是默认路径时,原程序调用失败。 (vl-load-com) (defun DSX-TypeLib-Excel (/ path tlb) (setq obj (vlax-create-object Excel.Application)) (setq path (vlax-get-property obj Path)) (cond ((setq tlb (findfile (strcat path \\Excel8.olb ) ) ) tlb ) ((setq tlb (findfile (strcat path \\Excel9.olb ) ) ) tlb ) ((setq tlb (findfile (strcat path \\Excel10.olb ) ) ) tlb ) ((setq tlb (findfile (strcat path \\Excel.exe ) ) ) tlb ) (t(alert 本系统内未找到EXCEL97、2000、2002、2003、2007,初始化失败!)) ) ) ;下一步是加载类型库并定义内部接口的属性、方法和恒量。这些都可以使用任意名称的前缀,该前缀只是用于对外部应用程序的快速及合理地调用。 ; ; ;以下的文章内容将把类型库的前缀均置为斜体以方便区分。 ; ;示例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 ;(隐藏),它取决于你希望 ;;; Excel 进程是否可以让用户直接操作访问。 (defun DSX-Open-Excel-New (dmode / appsession) (princ \n创建一个新的 Excel 电子表格文件...) (cond ((setq appsession (vlax-c

文档评论(0)

1亿VIP精品文档

相关文档