乐筑天下

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

[编程交流] 编码问题导出信息au

[复制链接]

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:18:12 | 显示全部楼层 |阅读模式
大家好。。。
 
 
我离开这个网站已经很长时间了,但我希望还有几张热门照片:-)
 
 
我的任务是编写一个程序,从AutoCAD中提取属性并将其自动导出到excel中,虽然我的程序可以运行,但在将信息推送到excel之前,我无法让它设置活动工作表。相关代码片段如下。。。。
 
 
  1. (vl-load-com)
  2. (setq tlbfile (findfile "C:\\Program Files\\Microsoft Office 15\\root\\office15\\Excel.exe"))
  3. (vlax-import-type-library :tlb-filename tlbfile :methods-prefix "msxl-" :properties-prefix "msxl-" :constants-prefix "msxl-")
  4. (setq xfile "c:\\attext_test.xls")
  5. (cond
  6.    ((setq fn (findfile xfile))
  7.      (cond
  8.        ((setq appsession (vlax-get-or-create-object "Excel.Application"))
  9.          (vlax-invoke-method (vlax-get-property appsession 'workbooks) 'open fn)
  10.          (vla-put-visible appsession 0)
  11.        )
  12.      )
  13.    )
  14.    (t (alert (strcat "nCannot locate source file: " xfile)))
  15. )
  16. (setq xlapp appsession)
  17. (msxl-Activate (vla-Item (msxl-Get-WorkSheets xlapp) "Instrumentation"))
  18. (setq rng (msxl-get-activesheet xlapp))

 
最后一行的第二行应该将活动页面设置为excel文件中的“Instrumentation”,但它没有。
 
 
谁能看出我做错了什么?我将发布整个程序供人们使用,只要我把这个排序(加上下一个程序,将信息从excel推回到autocad属性)
 
 
致以最诚挚的问候和感谢
 
 
太空猪62
回复

使用道具 举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 15:39:16 | 显示全部楼层
我做这件事已经十年多了,我非常讨厌类型库,所以避开了它们。也许您可以根据需要修改此代码段,我已将我的xl\U应用程序替换为您的(xlapp),并将您的工作表名称插入第一行
 
  1. (setq activeSheet (vl-catch-all-apply 'vlax-get-property (list (vlax-get-property xlapp "Sheets") "Item" "Instrumentation")))
  2. (if (not (vl-catch-all-error-p activeSheet))                                        ;if worksheet found
  3. (vlax-invoke-method activeSheet "Activate")                                ;set it as activesheet
  4. (setq activeSheet nil)
  5. )
回复

使用道具 举报

2

主题

9

帖子

7

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:50:56 | 显示全部楼层
嗨,德拉诺
 
非常感谢您的帮助-我明天会在工作中试用,一切顺利。我会在所有程序都经过测试后尽快为大家发布完整的程序-和您一样,我已经多年没有做过任何主要的编程了(从那时起我一直在使用Revit MEP)-我在2006年编写并发布了原件。。。。。这些年都到哪里去了?!?
 
顺致敬意,
 
太空猪62
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 15:57:17 | 显示全部楼层
请阅读代码发布指南,并将您的代码包含在代码标签中。[NOPARSE]
  1. Your Code Here[/NOPARSE]
=
  1. Your Code Here
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 16:09:11 | 显示全部楼层
 
只是好奇——为什么?
使用类型库有什么缺点吗?或者你只是讨厌自定义命名的属性/方法/事件?
回复

使用道具 举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 16:22:19 | 显示全部楼层
 
该代码在三个版本的Excel中使用,每个版本都有自己的类型库IIRC。我发现这是一场噩梦:哎哟:
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 0.904466 second(s), 64 queries .

© 2020-2025 乐筑天下

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