明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3778|回复: 15

关于CAD连接EXCEL的问题

  [复制链接]
发表于 2005-8-17 10:15 | 显示全部楼层 |阅读模式

在《二次开发》看到的《VL与电子表格》中的一段程序

(defun DSX-Excel-Put-ColumnList (lst startrow startcol)
(foreach itm lst
(msxl-put-value
(DSX-Excel-Get-Cell range startrow startcol)
itm
)
(setq startrow (1+ startrow))
); repeat
)

1。上面代码中红色部分在哪里定义的?我加载了程序运行后出现

创建一个新的 Excel 电子表格文件...; 错误: no function definition: DSX-EXCEL-GET-CELL

2。如果是EXCEL2003那么下面的程序应该怎么写呢?

(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
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2005-8-17 11:32 | 显示全部楼层

In the function DSX-TypeLib-Excel you should add the following line:

( (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office11\\Excel.exe")))
tlb
)

发表于 2005-8-17 11:58 | 显示全部楼层

楼主看的是这里吧

http://www.mjtd.com/a2/list.asp?id=348

楼上的说的好象不对,这是一个自定义函数,楼主看东西应该看全了,就在上面链接中,往下翻到“示例5”

 楼主| 发表于 2005-8-17 14:34 | 显示全部楼层

哎呀,我只是找了自已用得着的部分,还真没有看到这个函数定义

alin版主说的是如何加载E 2003

谢谢二位了

对了,还有一个问题, (setq tlb (findfile (strcat sysdrv "\\Program Files\\Microsoft Office\\Office11\\Excel.exe")))
tlb
)

sysdrv获得的是系统盘的位置,如果EXCEL安装目录不是C:\program files\microsoft office\office11\excel.exe怎么办呢?

发表于 2005-8-17 14:35 | 显示全部楼层
I just tried to answer his second question.
发表于 2005-8-17 15:12 | 显示全部楼层
CADghost发表于2005-8-17 14:34:00 哎呀,我只是找了自已用得着的部分,还真没有看到这个函数定义 alin版主说的是如何加载E 2003 谢谢二位了 对...

to alin,sorry,我跟楼主一样,没看全,都没发现还有第二个问题

如果安装目录不是那里,那你就是自讨苦吃,你可以写绝对路径,但就无法通用了

发表于 2005-8-22 08:35 | 显示全部楼层

请教各位,在写EXCEL时发现函数:msxl-get-cells有错误,错误代码:error: bad argument type: VLA-OBJECT nil,但我找不到关於这方面函数的帮助说明,请问如何查找这方面函数的帮助说明。谢谢。

发表于 2005-8-22 09:00 | 显示全部楼层
还找什么说明?返回错误代码里都说明白了,,,参数不对,VLA-OBJECT的值是nil,也就是msxl-get-cells函数的参数为空,你仔细看看程序的前面,是否对这个对象赋值了
发表于 2005-8-25 10:22 | 显示全部楼层
本帖最后由 作者 于 2005-8-25 12:17:50 编辑

请问一下DSX-Excel-Get-Cell 参数里的第一个参数range是什么意思啊?应该赋什么样的值呢?谢谢
发表于 2005-8-26 12:19 | 显示全部楼层
我的问题与9楼的一样,若有帮助的话就可以知道是什么参数,应该是什么格式之类 的。我想range的参数应该是Excel表中的列与行的位置,但格式如何不可而知也无法调试程式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-18 18:03 , Processed in 0.223450 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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