明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1436|回复: 3

请教VB,实时变量或with变量未设置

[复制链接]
发表于 2008-12-20 18:33:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-12-20 18:34:55 编辑

请教,VB编写的,出现错误为实时错误“91”,(实时变量或with变量未设置)。代码如下:

    Dim AcadApp As AcadApplication
    Dim AcadDocs As AcadDocuments
    Dim AcadDoc As AcadDocument
    Dim MoSpace As AcadModelSpace
    Public ztxzhtwzl1(0 To 2) As Double '块的插入位置1,m
    Dim xzllblock As AcadBlockReference '声明块的变量

Sub huatu()
   
    ztxzhtwzl1(0) = 15000: ztxzhtwzl1(1) = 5000: ztxzhtwzl1(2) = 0 ' 块的插入位置1,m
        
    If ModuleMenj.lzzzzl = 5 Then‘(说明:ModuleMenj.lzzzzl 是一个其它模块中的已知变量)
       Set xzllblock = AcadDoc.ModelSpace.InsertBlock(ztxzhtwzl1, "D:\portal crane\wheel\5wl.dwg", 1, 1, 1, 0)’将D:\portal crane\wheel\

    ElseIf ModuleMenj.lzzzzl = 6 Then
       Set xzllblock = AcadDoc.ModelSpace.InsertBlock(ztxzhtwzl1, "D:\portal crane\wheel\6wl.dwg", 1, 1, 1, 0)

    ElseIf ModuleMenj.lzzzzl = 8 Then
       Set xzllblock = AcadDoc.ModelSpace.InsertBlock(ztxzhtwzl1, "D:\portal crane\wheel\8wl.dwg", 1, 1, 1, 0)

    End If
    xzllblock.Explode‘(此句出现错误)
    xzllblock.Update
    ZoomAll
End Sub

请问是怎么回事?怎样修改?谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-12-21 13:32:00 | 显示全部楼层
本帖最后由 作者 于 2008-12-21 13:34:53 编辑

仔细看看你的代码,如果ModuleMenj.lzzzzl不等于5,也不等于6,也不等于8,程序会怎么样呢?会直接去执行xzllblock.Explode。可这时块参照还没有插入,xzllblock还是nothing啊,你这不是逼着寡妇生孩子吗?
发表于 2008-12-21 15:59:00 | 显示全部楼层

关键点是

Set xzllblock =XX ,在本地窗口看,xlaablokc是否为Nothing,

要是为Nothing.就会出现实时变量或with变量未设置的情况出现

发表于 2008-12-21 17:34:00 | 显示全部楼层

在End if 前面加上

Else
 Exit Sub

以避开出错的可能。

另外,你必须保证你的文件是存在的。

也可以写成:
Set xzllblock = AcadDoc.ModelSpace.InsertBlock(ztxzhtwzl1, "D:\portal crane\wheel\" & ModuleMenj.lzzzzl & "wl.dwg", 1, 1, 1, 0)

现加上出错判断,来简化程序。

写程序一定要能够针对各种可能的错误,不然给自己用都不及格,就不要说给别人了。

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

本版积分规则

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

GMT+8, 2024-11-26 04:25 , Processed in 0.166523 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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