vba自动加载宏的问题,下面代码为啥只能在打开第一个文件时自动加载?
我想当打开cad文件时,自动加载命令,但下面的程序只能在打开第一个文件时加载vba宏,怎样才能每次打开文件时都能加载呢?Public TestLoad As Boolean
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If Not TestLoad Then
ThisDrawing.SendCommand "(defun c:rz()(vl-vbarun ""rz"")(princ))(princ)" & vbCr
TestLoad = True
End If
End Sub 把IF去了试试
去掉if语句后,1.每次运行完其他命令均会运行宏
2.打开新的cad文件时,不自动运行宏,只有运行任一命令后才运行宏。
怎样才能实现第一次打开文件时,自动运行宏?
在 AutoCAD 收到打开现有图形的要求后立即被触发。
|
语法
object.BeginOpen(Filename)object
针对有效容器对象进行求值的对象表达式。 在这种情况下,唯一有效的容器为application(应用程序)。
Filename
String[字符串]
正在被打开的文件的名称。
说明
当AutoCAD 收到打开已经存在的文件的要求时,BeginOpen事件就会被触发。这个要求可能由用户通过文件打开对话框或是程序要求而出现。
当打开DXF格式的文件时,BeginOpen 事件不会被触发。
当打开已经存在的文件或是AutoCAD完成打开图形时,EndOpen事件将会紧跟BeginOpen 事件发生。例如,当用户选取“文件-->打开”,然后在对话框中选择文件,接着选取“打开”按钮,BeginOpen 事件即会被触发(在开始处理“打开”按钮时)。 一旦图形在 AutoCAD 窗口中为可见状态并且准备使用时,EndOpen事件被触发。
当创建新文件时, NewDrawing 事件被触发。
显示模态窗口时将不会触发任何事件。
页:
[1]