明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3524|回复: 7

[已解答] 求一个打开指定excel文件的程序

[复制链接]
发表于 2015-12-4 08:26 | 显示全部楼层 |阅读模式
60明经币
希望可以打开当前图纸所在文件夹内的名为“工程材料统计”的电子表格。

比如某文件夹内有文件如下:
图纸1.dwg
工程材料统计.xls
……
当前CAD打开“图纸1”,运行程序,打开工程材料统计.xls,ok!

敬请大侠出手相助,谢谢了!

最佳答案

查看完整内容

函数是收集的,不清楚原作者是谁
发表于 2015-12-4 08:26 | 显示全部楼层
  1. (defun c:tt(/ path filename)
  2. (setq path (getvar "DWGPREFIX"))
  3. (setq filename (strcat path "工程材料统计.xls"))
  4. (DSX-Open-Excel-Exist filename "show")
  5. )

  6. (defun DSX-Open-Excel-Exist (xfile dmode / appsession)
  7. (princ "\n打开 Excel 电子表格文件...")
  8. (cond
  9. ( (setq fn (findfile xfile))
  10. (cond
  11. ( (setq appsession (vlax-get-or-create-object "Excel.Application"))
  12. (vlax-invoke-method
  13. (vlax-get-property appsession 'WorkBooks)
  14. 'Open fn
  15. )
  16. (if (= (strcase dmode) "SHOW")
  17. (vla-put-visible appsession 1)
  18. (vla-put-visible appsession 0)
  19. )
  20. )
  21. )
  22. )
  23. ( T (alert (strcat "\n不能找到指定的文件: " xfile)) )
  24. )
  25. appsession
  26. )
函数是收集的,不清楚原作者是谁
回复

使用道具 举报

发表于 2015-12-4 09:11 | 显示全部楼层
试试看
  1. (defun c:cs()
  2.         (vlxls-app-open (strcat (getvar 'DWGPREFIX) "工程材料统计.xls") T)
  3. )


  4. ;0·打开xls
  5. ;|
  6. Examples:
  7. (setq *xlapp* (vlxls-app-open "C:/test.XLS" T))  ==>  #<VLA-OBJECT _Application 001efd2c>
  8. |;
  9. (defun vlxls-app-open
  10.    (XLSFile UnHide / ExcelApp WorkSheet Sheets ActiveSheet Rtn)
  11.    (setq XLSFile (strcase XLSFile))
  12.    (if (null (wcmatch XLSFile "*.XLS" ))
  13.       (setq XLSFile (strcat XLSFile ".XLS" ))
  14.    )
  15.    (if (and (findfile XLSFile) (setq Rtn (vlax-get-or-create-object "Excel.Application" )))
  16.       (progn
  17.          (vlax-invoke-method
  18.             (vlax-get-property Rtn 'WorkBooks)
  19.             'Open
  20.             XLSFile
  21.          )
  22.          (if UnHide
  23.             (vla-put-visible Rtn 1)
  24.             (vla-put-visible Rtn 0)
  25.          )
  26.       )
  27.    )
  28.    Rtn
  29. )

点评

非常感谢,很好用,但是下面的程序考虑更周全,我另开一帖再把您设为最佳答案哦  发表于 2015-12-4 14:20

评分

参与人数 1明经币 +1 收起 理由
theisland + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-12-4 14:22 | 显示全部楼层
Linhay 发表于 2015-12-4 09:27
函数是收集的,不清楚原作者是谁

很完美,感激一百遍

点评

我们该谢谢那些提供函数的作者,我只是借用了他们的劳动成果.  发表于 2015-12-4 15:01
回复

使用道具 举报

发表于 2015-12-4 14:32 | 显示全部楼层
theisland 发表于 2015-12-4 14:22
很完美,感激一百遍!

楼主还是自学吧,不能总是想着别人跟你写代码
你可以看看BenjaminXM发的贴子 ,这才是来论坛学习的!
http://bbs.mjtd.com/home.php?mod=space&uid=7307327&do=thread&view=me&from=space
你如果总是求,跟flytoday有何分别? 恐成过街老鼠.......

回复

使用道具 举报

 楼主| 发表于 2015-12-4 14:53 | 显示全部楼层
jltx123456 发表于 2015-12-4 14:32
楼主还是自学吧,不能总是想着别人跟你写代码
你可以看看BenjaminXM发的贴子 ,这才是来论坛学习的!
http ...

我是听同事说碰到CAD中的大部分问题都可以在明经社区找到答案,我信了,并且确实得到了很多帮助,很感激大家!我没时间学习编程,觉得好复杂,我只是希望有需求时,能得到及时的帮助,所得程序我仅仅在自己的工作中用到,我也觉得做伸手党很不好,因此考虑用人民币充值,考虑到我大明经社区有自己的纪律,我也试着去程序申请区发帖,但感觉回应很少、很慢甚至没有,所以才在这里申请。请原谅我的不守规矩,但说到底我就是一个很纯粹希望在我大明经社区寻求答案的人,并无心专研编程技术,以后我还是按管理员规定在指定板块发帖求程序吧,我不会亏待帮我的人,合理的报酬可以谈,请各位武艺精湛的“职业杀手”加我好友吧!再次表达抱歉,顺便说一句,我不知道谁是flytoday……,我相信我的所为对得起任何人
回复

使用道具 举报

发表于 2015-12-4 17:19 | 显示全部楼层
楼主,问题解决了, 请将主题置为"已解决" ,页面右上角有个黄色按钮

点评

好的,多谢提醒,我以为设为最佳答案就可以了  发表于 2015-12-4 20:17
回复

使用道具 举报

发表于 2016-4-2 01:51 来自手机 | 显示全部楼层
学习了,,,。。。。来自: Android客户端
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 20:20 , Processed in 0.411623 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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