求助:AcadDocument_ObjectAdded函数中的问题
<P>求助:在AcadDocument_ObjectAdded函数中怎样把Object参数赋给AcadBlockReference类型变量,以判断插</P><P>入的块参照的名称?</P>
<P><BR>我想用VBA实现下面的功能:</P>
<P> 当用户手动或者用其它工程(例如天正系列软件)向图形中插入一个特定的块(块名称</P>
<P>为"chuanghu",表示窗户)时,我的程序能检测到这个事件,并进行一些额外的处理(比如,让用户在命令行输</P>
<P>入块的高度,以方便以后的计算)</P>
<P> 于是我实现AcadDocument_ObjectAdded(ByVal Object As Object)函数.但是该函数的执行去存</P>
<P>在下面的问题:</P>
<P> 当用户手动插入块(执行CAD的"插入/块"菜单)时,AcadDocument_ObjectAdded函数运行没有问题,</P>
<P>能够判断出添加的时块参照,并能读取改块参照的块名称;但是当使用VBA程序,调用InsertBlock函数插入</P>
<P>块时,AcadDocument_ObjectAdded函数中部门把传入的参数Object赋值给一个AcadBlockReference变</P>
<P>量....程序会执行到Set ss = Object时出现错误</P>
<P>"运行时错误13,类型不匹配"...</P>
<P> 我的代码贴出来,如下,请各位高手看看,诊断下,不胜感激:</P>
<P>Private Sub AcadDocument_ObjectAdded(ByVal Object As Object)<BR>Dim cla As String<BR>cla = Object.ObjectName<BR>If cla = "AcDbBlockReference" Then<BR> Dim ss As AcadBlockReference<BR> Set ss = Object<BR> Dim nm As String<BR> nm = ss.Name<BR> ThisDrawing.Utility.Prompt vbNewLine & "ok! 块添加到图形中" & "块名称:" & nm<BR>End If<BR>End Sub<BR></P> <P><A href="http://www.mjtd.com/object/acad2004/idh_getstring.htm" target="_blank" ></A> http://www.mjtd.com/object/acad2004/idh_getstring.htm</P>
<P>然后改变块的插入比例</P>
页:
[1]