chixun99 发表于 2023-2-14 19:12:40

VBA怎么判断一个图形变量指向的图元已经被删除

Dim En As AcadEntity
    En.Delete
    Debug.Print En.ObjectName    ‘此处再次调用en变量会报错。想加个判断避开报错。

liuhe 发表于 2023-2-14 20:47:57

明经通道 Visual LISP 函数
   明经通道 Visual LISP 函数   

vlax-erased-p



确定对象是否被删除

(vlax-erased-p obj)
参数

obj

VLA 对象。

返回值

如果对象被删除,则返回 T,否则返回 nil。

我知道vlax 的

chixun99 发表于 2023-2-15 17:40:00

liuhe 发表于 2023-2-14 20:47
明经通道 Visual LISP 函数
   明经通道 Visual LISP 函数   



谢谢,也可以用vb运行lisp函数。

陈宫在家吗 发表于 2023-2-20 10:31:28

    If Err = -2145386420 Then
      Err.Clear
      MsgBox "对象已被删除!"
    End If

chixun99 发表于 2023-2-20 17:10:50

陈宫在家吗 发表于 2023-2-20 10:31
If Err = -2145386420 Then
      Err.Clear
      MsgBox "对象已被删除!"


这个还是需要on error来忽略出错代码。

陈宫在家吗 发表于 2023-2-21 09:00:08

chixun99 发表于 2023-2-20 17:10
这个还是需要on error来忽略出错代码。

是的,前面要加 on error resume next

chixun99 发表于 2023-2-21 18:28:22

陈宫在家吗 发表于 2023-2-21 09:00
是的,前面要加 on error resume next

这个我也想到过,只是想再请教下有没有其他方法能做到而已。按道理对象删除,针对变量应该有相应的变化可以在代码中判断的。可惜研究不够深入。

陈宫在家吗 发表于 2023-2-22 10:39:50

chixun99 发表于 2023-2-21 18:28
这个我也想到过,只是想再请教下有没有其他方法能做到而已。按道理对象删除,针对变量应该有相应的变化可 ...

这个就不会了。我开始想的用isempty之类的判断的,没成功
页: [1]
查看完整版本: VBA怎么判断一个图形变量指向的图元已经被删除