乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 23|回复: 7

[编程交流] 浏览现有excel f

[复制链接]

29

主题

84

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 08:35:54 | 显示全部楼层 |阅读模式
你好,
我已经在theswamp上发布了这个。组织
 
我正在寻找一个代码,允许我浏览现有的excel文件,并创建一个新的工作表,并给它一个预先确定的名称,以放置由计算autolisp程序生成的一些数据。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:45:40 | 显示全部楼层
使用getfield,将“flags”参数设置为1,允许用户浏览要创建的新文件。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 08:56:42 | 显示全部楼层
试试看
对于测试,请在屏幕上选择一些块
[code](vl load com)(defun C:XLDEMO(/*error*colm defName ExcelApp exc\u data fcol fdata filepath ftype ins\u point ins\u record Lngcount newName pfset row Sheets Sht Sht ShtNames Wbk x xlCell xlCells XlLastsheet xlNewSheet)(defun*error*(msg)(if(vl positionmsg’(“控制台中断”函数取消“退出/退出中止”))(princ msg)(princ“error!”)(vl catch all apply“vlax invoke method(list ExcelApp“Quit”))(mapcar(function(lambda(x)(vl catch all apply)(function(lambda()(if(not(vlax-object-released-p x))(progn(vlax release object x)(setq x nil)))))(list xlCells Sht Sheets Wbk ExcelApp))(gc)(gc)(princ))(setq pfset(vla get pickfirstselectionset(vla get activedocument(vlax get acad object)))(vla clear pfset)(setq ftype(list 0 410)fdata(list“insert”(getvar'ctab))(setq ftype(vlax safearray fill(vlax make safearray vlax vbinteger(cons 0(1-(length ftype)))ftype)fdata(vlax safearray fill(vlax make safearray vlax vbvariant(cons 0(1-(长度fdata)))fdata));;全选:;;(vla select pfset acselectionsetall nil nil ftype fdata);;或在屏幕上选择(提示“\n选择要在Excel中写入的块”)(vla selectonscreen pfset ftype fdata)(if(>(vla get count pfset)0)(progn(vlax for block\u obj pfset(setq ins\u point(vlax get block\u obj'insertionpoint))ins\u记录(list(cons“BlockName”(vla get effectivename block\u obj))(cons“Position X”(car ins\u point))(cons“位置Y”(cadr ins_点))(cons“位置Z”(caddr ins_点)))(setq exc_数据(cons ins_记录exc_数据)));;Eof acad部分;;(setq newName“putyourname here”);
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:08:39 | 显示全部楼层
修复。。。使用Acad2008,无法使xldemo工作。。。。?帮助。。。做错了什么??正在使用Office 2000。。。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 09:16:41 | 显示全部楼层
你好,史蒂夫,
也许你需要在这条线上改变
(setq filepath(getfiled“数据文件”(getvar“dwgprefix”)“xls”2)
在Office 2000中,我认为只是“xls”扩展
您也可以添加
(C:XLDEMO)在代码的最后,从控制台运行lisp,
错误发生后,进入菜单调试-->上一个错误源,
问题行将突出显示
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:26:28 | 显示全部楼层
 
当我在图形中拾取块时,命令行中会出现以下消息:
命令:xldemo
选择要在Excel中写入的块
选择对象:找到0个
选择对象:
 
调试没有帮助,因为还没有明确的错误消息可用。
史蒂夫
TIA
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 09:31:27 | 显示全部楼层
我的错,
您必须选择块,然后像往常一样按Enter键
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:38:25 | 显示全部楼层
 
纳达
程序无法识别屏幕上拾取的块,说
命令:XLDEMO
选择要在Excel中写入的块
选择对象:找到0个
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 08:53 , Processed in 0.652358 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表