应用程序事件不工作
我已经有这个问题好几个月了,但还没有发帖来解决它:我有一个acad。rx文件;在那里我测试了acvba。arx,它看起来像是在启动时初始化VBA,但是我无法让任何应用程序事件工作。我创建了名为Class1的类模块[代码0)和调用它的模块Sub ExposeAppEvents()Dim AppEvents As Class1
Set AppEvents = New Class1
End Sub
仍然没有任何建议
还有,有没有人有一个相当简单的应用程序事件,我可以使用它进行测试
谢谢Mark
1) 将其放在thisdrawing模块的顶部(thisdrwawing是一个类模块)
Private WithEvents AutoCAD As AcadApplication 也将其放入thisdrawing模块Public Sub Acadstartup()
Set AutoCAD = Application
AutoCAD.WindowState = acMax
ThisDrawing.WindowState = acMax
End Sub 在acad的thisdrawing模块中。dvbSub ACADStartup()
Call AcadApplication.RunMacro("F:\Project startup2006.dvb!App_StartMacro")
End Sub 将路径放置到正在加载的dvb
在vbaide窗口的顶部有两个控制框,左边的一个称为对象框
如果您单击箭头并选择“General”,则可能会显示(General);AutoCAD;,右侧的下拉框(“过程”) ;将列出所有可用的应用程序级应用程序
单击BeginOpen,将出现该名称的子项write MsgBox(“打开”)在那里。
Bry我没有提到以上所有内容都在我的acad中。dvb文件标记
我可能错了,但看起来你是从绘图级别而不是从系统中获取事件
标记
这需要打开图纸 ; 您好,马克,附件是我的acad。使用事件的dvb。看看它是否有助于你想做的事情。其中包含LandDesktop特定项目的代码,但该部分不应';如果LDT未运行,则t运行
杰夫
酷杰夫,你怎么说
谢谢Mark
杰夫,这是好东西,很酷的一点是,我也使用Land Desktop,但我对它还是有点陌生,无法真正欣赏你所做的一切。这当然值得坚持下去
在我的acad中。dvb文件我做了一个简单的事件:Private Sub ACADApp_BeginSave(ByVal Filename As String)
Dim Filename As String
Filename = Test.dwg
MsgBox "Hello"
End Sub
当我按下“保存”按钮时,我至少应该看到一个简单的消息框吗
谢谢你,马克 你好,马克,不确定是什么';s向上,但医生说BeginSave&;EndSave事件使用AcadApp,但两者的示例都使用AcadDocument….这是可行的:
Private Sub ACADDocument_BeginSave(ByVal Filename As String)
'Filename = Test.dwg ''this will error since it's not a string
MsgBox "Hello"
End Sub
这很容易用Dim Filenname as String来解决,但我遇到的问题不是真正使用文档级事件,而是使用应用程序级事件;
页:
[1]
2