明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2599|回复: 3

vba自动加载宏的问题,下面代码为啥只能在打开第一个文件时自动加载?

[复制链接]
发表于 2008-11-17 16:23:00 | 显示全部楼层 |阅读模式
我想当打开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
发表于 2008-11-17 16:46:00 | 显示全部楼层

把IF去了试试

 楼主| 发表于 2008-11-18 11:06:00 | 显示全部楼层

去掉if语句后的问题。

去掉if语句后,1.每次运行完其他命令均会运行宏
                        2.打开新的cad文件时,不自动运行宏,只有运行任一命令后才运行宏。
怎样才能实现第一次打开文件时,自动运行宏?

发表于 2008-11-18 12:00:00 | 显示全部楼层

在 AutoCAD 收到打开现有图形的要求后立即被触发。

MSITStore:D:\Program%20Files\AutoCAD%202004\help\acadauto.chm::/beginopen_see_also.htm">参阅 | MSITStore:D:\Program%20Files\AutoCAD%202004\help\acadauto.chm::/ex_beginopen.htm">示例

语法

object.BeginOpen(Filename)

object

MSITStore:D:\Program%20Files\AutoCAD%202004\help\acadauto.chm::/idh_application_object.htm">Application
针对有效容器对象进行求值的对象表达式。 在这种情况下,唯一有效的容器为application(应用程序)。

Filename

String[字符串]
正在被打开的文件的名称。

说明

当AutoCAD 收到打开已经存在的文件的要求时,BeginOpen事件就会被触发。这个要求可能由用户通过文件打开对话框或是程序要求而出现。

当打开DXF格式的文件时,BeginOpen 事件不会被触发。

当打开已经存在的文件或是AutoCAD完成打开图形时,EndOpen事件将会紧跟BeginOpen 事件发生。例如,当用户选取“文件-->打开”,然后在对话框中选择文件,接着选取“打开”按钮,BeginOpen 事件即会被触发(在开始处理“打开”按钮时)。 一旦图形在 AutoCAD 窗口中为可见状态并且准备使用时,EndOpen事件被触发。

当创建新文件时, NewDrawing 事件被触发。

显示模态窗口时将不会触发任何事件。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 06:45 , Processed in 0.163269 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表