乐筑天下

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

从Acad运行Excel

[复制链接]

5

主题

21

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-9-5 15:39:18 | 显示全部楼层 |阅读模式
我正在通过一个程序从acad绘图标题块创建Excel绘图列表。我已经成功读取了. dwg文件并将它们转储到Excel中。但是,我认为在Acad VBA中格式化Excel文件不是一个好主意,因为Excel VBA格式化代码非常冗长,最好在Excel本地运行。我想做的是将文件“FormatDwgList.bas”加载到Excel文件中并在那里运行,这样用户就会得到成品。它归结为两行代码:
FormatList="c:\script\FormatDwgList.bas"
.
.
.
XL.VBE.ActiveVBProject.VBComponents.ImportFormatList
XL.Run"FormatDwgList", WSheet
. bas文件实际加载并出现在工作表中。但是,当VBA到达XL.Run命令时,我得到运行时错误1004“找不到宏FormatDwgList”我从Microsoft知识库中得到了这个语法。
会不会是synchcronize问题?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

0

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
4
发表于 2006-9-6 01:01:56 | 显示全部楼层
我试过你的建议。还是同样的错误。我把时间增加到5秒,但还是没有运气。我还将导入移动到尽可能远离运行的位置
未找到的错误似乎是这里的关键。我是否没有提供足够的信息来在Excel中查找代码模块,这是一个非同步问题还是其他问题?我已经三次核对了所有的名字。该文件是格式化的.glist。在bas中,子模块名为formattwglist,模块名为Formattwglish。这个程序让我非常伤心,直到我发现办公自动化中的“不合格引用”情况。也许我不能只引用FormatdGlist,而是需要使用完全限定的对象变量?(只是大声思考)
回复

使用道具 举报

5

主题

21

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-9-6 10:01:51 | 显示全部楼层
我只是好奇你在excel中格式化转储是什么意思?我把我的标题栏信息读入excel,它就在我想要的地方,看起来和我期望的一样。也许我没什么期望(哈哈)。不管怎样,我想看看你做了什么来与我的方法进行比较。如果这对你有帮助的话,我可以发布我的代码。
回复

使用道具 举报

5

主题

21

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-9-6 10:11:06 | 显示全部楼层
我所说的格式化,指的是字体、颜色、单元格轮廓等。Excel VBA的一个小示例如下所示:
'格式标题行
带范围(单元格(1,1),单元格(1, xCols))
。Interior.ColorIndex=15
。Interior.Pattern=xlSolid
。Font.Bold=True
。HorizontalAliment=xlCenter
。Vertical校准ment=xlCenter
结束with
'格式修订标题
行("1:1")。RowHeight=95
带范围(单元格(1,6),单元格(1, xCols))
。Horizontal ment=xlCenter
。Vertical校准ment=xlBottom
。方向=90
。WrapText=True
。Font.Size=8
结束
正如我指出的,Excel VBA中的这种东西非常冗长。由于Office自动化中的不合格引用问题,从acad运行Excel代码会变得更糟。(参见MS KB#319832)这就是为什么我想在Excel中本机运行它。
回复

使用道具 举报

5

主题

21

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-9-8 17:29:09 | 显示全部楼层
那么,您能否使用一组代码从Autocad中提取,将其转储到已经完成格式化的Excel模板中,然后从那里开始? 还是从autocad转储,然后从Excel格式化?
回复

使用道具 举报

0

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
4
发表于 2006-9-8 17:51:24 | 显示全部楼层
我使用acad VBA从图纸中提取信息并将其转储到Excel中。然后仍然在Acad VBA控制下,我将Excel VBA模块加载到Excel中,并尝试让Excel在Excel中本地运行它。以这种方式处理它有两个很好的理由。首先,Excel工作表中的行和列变化很大。Excel更容易确定工作表的范围。
其次,更重要的是,Excel VBA中的格式化命令非常冗长。理论上,它们可以从Acad VBA发出,但它们必须完全合格,否则您将启动Excel的幻像副本。(参见MS知识库319832)。
真正烦人的是,我可以将BASIC文件加载到Excel代码模块中,但我无法让它运行。
回复

使用道具 举报

5

主题

21

帖子

1

银币

初来乍到

Rank: 1

铜币
41
发表于 2006-9-14 11:24:04 | 显示全部楼层
嘿,迈克,很抱歉我花了这么长时间才发回…
请尝试先使用以下语法显式调用工作簿:
应用程序。运行“MyWorkbook.xls!FormatdGlist”,WSheet
希望这样做。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-6 13:15 , Processed in 0.700547 second(s), 66 queries .

© 2020-2025 乐筑天下

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