记录事件和时间安排
大家好,多亏了基思';s help,I';我让我的VB应用程序使用一个VBA存根,该存根设置了我的类的实例并终止 ;事件I';m编程在'时触发;应该是的,我';我很高兴一个;粘性导叶“;我需要有条件地重置系统变量,这取决于哪个命令I';我正在接球 ;除第一次外,每次都有效 ;本人';我试着在我的VB程序、VBA存根和这两个地方设置系统变量 ;两者都给出了相同的结果——除第一次外,每次都有效
I';我创建了一个ACAD。使用ACVBA接收。ARX,并将相同的代码放入ACAD。我的存根DVB程序中有DVB,以防程序加载顺序影响这一点,但没有乐趣 ;换句话说,它没有#039;我是否在ACAD中自动加载程序似乎无关紧要。DVB或稍后手动加载,以及是否存在ACVBA。ARX(使用vanilla ACAD 2007)也不#039;这似乎无关紧要
I';我试图做的是使用ATTREQ来抑制DDATTE/ATTEDIT对话框 ;当我单步遍历VBA存根中的代码时,重置系统变量的请求发生在DDATTE对话框弹出之前,但它仍然会弹出
另一个有趣的因素是,当整个事情在VBA中完成时,这从未发生过
随着变量被设置在我的DVB存根中,它发生在VB程序加载之前很久(无论如何用计算机术语),所以我不&35;039;不明白为什么重置ATTREQ没有#039;t第一次影响DDATTE/ATTEDIT的显示 ;正如我所说,剩下的时间它的工作如预期
我错过了什么?
对于我来说,vba中的计时已经足够复杂了,但是;VBAIDE“;不#039;t、 (我只在vba中谈论)Public WithEvents AutoCAD As AcadApplication
Sub App_StartMacro()
Set AutoCAD = ThisDrawing.Application
End Sub
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If CommandName = "COMMANDLINE" Then
Set AutoCAD = ThisDrawing.Application
End If
End Sub
我原本希望BeginCommand能为我争取足够的额外时间来阻止讨厌的DDATTE/ATTEDIT对话框,但它没有';t、  ;本人';在加载VB例程之前,我尝试在VBA中处理这个问题
现在,我';我只是将ATTREQ设置为0,看看这是否足够好 ;它在我的应用程序中有效,但我希望确保其他块插入(具有属性)正常工作;如果插入的对象具有属性,我的应用程序会强制ATTEDIT出现,因此它可能是。
页:
[1]