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