明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1158|回复: 5

求高手修改小程序

[复制链接]
发表于 2015-12-21 12:45 | 显示全部楼层 |阅读模式
15明经币
原帖子地址:http://bbs.mjtd.com/thread-170340-1-1.html
最佳答案提供者:Linhay
现在发现因为excel不能同时打开2个同名的文件,所以我把每个项目的“工程材料统计”表格名字变成“工程材料统计-项目1”、“工程材料统计-项目2”……等,请高手帮我把这个程序调整成可以识别文件名通配符的模式

(defun c:001(/ path filename)
(setq path (getvar "DWGPREFIX"))
(setq filename (strcat path "工程材料统计.xls"));比如这一行中的文件名能不能写成“工程材料统计*.xls”?
(DSX-Open-Excel-Exist filename "show")
)

(defun DSX-Open-Excel-Exist (xfile dmode / appsession)
(princ "\n打开 Excel 电子表格文件...")
(cond
( (setq fn (findfile xfile))
(cond
( (setq appsession (vlax-get-or-create-object "Excel.Application"))
(vlax-invoke-method
(vlax-get-property appsession 'WorkBooks)
'Open fn
)
(if (= (strcase dmode) "SHOW")
(vla-put-visible appsession 1)
(vla-put-visible appsession 0)
)
)
)
)
( T (alert (strcat "\n不能找到指定的文件: " xfile)) )
)
appsession
)


最佳答案

查看完整内容

我自己测试了没问题的,你检查一下你的文件扩展名是xls还是xlsx,或者替换一下下面这句 (setq filelist (vl-directory-files path "工程材料统计*.xls*"))
发表于 2015-12-21 12:45 | 显示全部楼层
theisland 发表于 2015-12-22 17:11
哈哈,老朋友来了!刚试了,怎么没反应呢?

我自己测试了没问题的,你检查一下你的文件扩展名是xls还是xlsx,或者替换一下下面这句
(setq filelist (vl-directory-files path "工程材料统计*.xls*"))
回复

使用道具 举报

发表于 2015-12-21 15:09 | 显示全部楼层
(defun c:001(/ path filename filelist)
(vl-load-com)
(setq path (getvar "DWGPREFIX"))
(setq filelist (vl-directory-files path "工程材料统计*.xls"))
(foreach n filelist
(setq filename n)
(DSX-Open-Excel-Exist filename "show")
)
)

(defun DSX-Open-Excel-Exist (xfile dmode / appsession)
(princ "\n打开 Excel 电子表格文件...")
(cond
( (setq fn (findfile xfile))
(cond
( (setq appsession (vlax-get-or-create-object "Excel.Application"))
(vlax-invoke-method
(vlax-get-property appsession 'WorkBooks)
'Open fn
)
(if (= (strcase dmode) "SHOW")
(vla-put-visible appsession 1)
(vla-put-visible appsession 0)
)
)
)
)
( T (alert (strcat "\n不能找到指定的文件: " xfile)) )
)
appsession
)

回复

使用道具 举报

 楼主| 发表于 2015-12-22 17:10 | 显示全部楼层
Linhay 发表于 2015-12-21 15:09
(defun c:001(/ path filename filelist)
(vl-load-com)
(setq path (getvar "DWGPREFIX"))

哈哈,老朋友来了!我刚试了,没反应呢
回复

使用道具 举报

 楼主| 发表于 2015-12-22 17:11 | 显示全部楼层
Linhay 发表于 2015-12-21 15:09
(defun c:001(/ path filename filelist)
(vl-load-com)
(setq path (getvar "DWGPREFIX"))

哈哈,老朋友来了!刚试了,怎么没反应呢?
回复

使用道具 举报

 楼主| 发表于 2015-12-23 16:05 | 显示全部楼层
Linhay 发表于 2015-12-21 15:09
(defun c:001(/ path filename filelist)
(vl-load-com)
(setq path (getvar "DWGPREFIX"))

搞定了,非常感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 20:43 , Processed in 0.176291 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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