muck 发表于 2022-7-6 22:10:55

65位VBA路由

过去,我在64位AutoCAD 2012和2013上使用VBA例程时遇到问题。
我有各种各样的问题。现在我在一台装有AutoCAD 2014的机器上。
令我惊讶的是,我发现在AutoCAD 2012和2013上失败的VBA例程之一是
使用AutoCAD 2014。
装有AutoCAD 2014的机器是一台Windows 7 64位机器,但我不知道
AutoCAD 2014是否为64位。有没有办法判断我是否在使用AutoCAD 2014 64位?
可能AutoCAD是在兼容模式下安装的,它实际上不是64位。
 
可能AutoDesk修复了64位AutoCAD 2014 VBA。我需要知道为什么我的VBA例程
正在使用AutoCAD 2014计算机,而不是使用我的AutoCAD 2013计算机。也许在那里
是一种修复2013机器的方法,以允许VBA例程正常工作。
 
有人能帮忙吗?
非常感谢。

Tyke 发表于 2022-7-6 22:20:03

在AutoCAD 2012和2013中,VBA引擎是32位VB6.3,在AutoCAD 2014中是64位VB7引擎。VB6中使用的32位控件在VB7中不起作用。
 
对于在VB6中不工作的VBA例程,请尝试在VBAIDE中打开模块并检查引用,如果有任何标记为“缺少…”然后从框中删除勾号并再次尝试运行。或者在这里张贴您的代码,以便我们可以查看。

muck 发表于 2022-7-6 22:26:36

这是我的AutoCAD 2013 VBA参考的快照,只选中了3个框。
它不起作用。我几乎放弃了在上面使用VBA。
 
我确实会看看2014年的机器,稍后给你一个快照。

Tyke 发表于 2022-7-6 22:32:04

在VBAIDE中,您没有加载任何项目,因此您只能获得显示的三个框。如果你加载一个项目,然后选中你的引用,你会得到额外的复选框。以下屏幕截图显示了AutoCAD 2013中表单应用程序的引用,请注意,即使是2013年,它也引用了“AutoCAD 2012类型库”。“Microsoft Forms 2.0 Object Library”引用将在您将表单插入项目时自动插入。在表单上放置公共对话框控件时,会自动插入“Microsoft Common Dialog Control 6.0(SP6)”参考,请注意,这是一个32位控件,在2014年使用的64位VB7 VBA引擎中不可用。
 

 
忽略这个事实,对话是用德语写的,我没有2013年的英文版本给你们看。Civil 3D 2013及更早版本没有语言包,仅适用于vanilla AutoCAD。

muck 发表于 2022-7-6 22:38:02

好的,这是我在2013年AutoCAD上的ref快照。
我无法使用例程在文本框中输入文本。
 
请记住,同样的例程也适用于2014 AutoCAD
以及2012年以下的其他autoCAD版本。

Tyke 发表于 2022-7-6 22:45:46

类型库位于列表的底部,请使用对话框中的向上箭头增加其优先级。只能将其上移到位置2,默认情况下,“Visual Basic for Applications”位于位置1。看看这会不会改变什么。

muck 发表于 2022-7-6 22:52:01

嗯,我改变了优先级,但AutoCAD和VBA似乎运行缓慢,一些关键响应滞后
使系统有时出现锁定。

muck 发表于 2022-7-6 22:56:36

我必须收回这一点。我仍然无法在vba例程中使用文本框。

muck 发表于 2022-7-6 23:02:07

这是我修改过的参考资料的快照。

Tyke 发表于 2022-7-6 23:08:41

我给你发了一个下午
页: [1] 2
查看完整版本: 65位VBA路由