| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9910 人关注过本帖
标题:实时错误91,对象变量或with块变量未设置~~如何解决
取消只看楼主 加入收藏
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
实时错误91,对象变量或with块变量未设置~~如何解决
Private Sub Command1_Click()
Dim part As Object
Dim strfilename As String
Dim longstatus As Long
Dim d1 As Integer
Dim d2 As Integer
Dim h As Single
If Dir(strfilename) = "" Then
   MsgBox ("文件不存在,请检查路径:" & vbCrLf & strfilename)
   Exit Sub
   End If
strfilename = App.Path + "\" + "垫圈.sldprt"
Set swApp = CreateObject("sldworks.application")
swApp.Visible = True
Set part = swApp.opendoc4(strfilename, 1, 0, "", longstatus)
Set part = swApp.ActivateDoc("垫圈")
ProgressBar1.Value = 4
d1 = Text1.Text
d2 = Text2.Text
h = Text3.Text
Debug.Print d1, d2, h
strfilename = "@垫圈.sldprt"
    part.Parameter("d1 @ 草图2 " & strfilename).SystemValue = d1 / 1000
    part.Parameter("d2 @ 草图2 " & strfilename).SystemValue = d2 / 1000
    part.Parameter("h  @ 拉伸1 " & strfilename).SystemValue = h / 1000
    part.EditRebulid
ProgressBar1.Value = 9
Set part = Nothing
Set swApp = Nothing
ProgressBar1.Value = 100
StatusBar1.Panels(1).Text = "更新结束"
End Sub


在最后  part.Parameter("d1 @ 草图2 " & strfilename).SystemValue = d1 / 1000~~~调试时就会出现实时错误91,对象变量或with块变量未设置,有大神告诉怎么解决吗?
搜索更多相关主题的帖子: 如何 垫圈 
2014-04-13 12:26
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 2 楼 owenlu1981
很感谢你的帮助。在我那样修改后,可以寻找到文件了,但是还是会出现那样的错误。修改后的代码如下:
Private Sub Command1_Click()
Dim part As Object
Dim strfilename As String
Dim longstatus As Long
Dim d1 As Integer
Dim d2 As Integer
Dim h As Single
strfilename = App.Path + "\" + "垫圈.sldprt"
If Dir(strfilename) = "" Then
   MsgBox ("文件不存在,请检查路径:" & vbCrLf & strfilename)
   Exit Sub
   End If
Dim swApp As Object
Set swApp = CreateObject("sldworks.application")
swApp.Visible = True
Set part = swApp.opendoc4(strfilename, 1, 0, "", longstatus)
Set part = swApp.ActivateDoc("垫圈")
ProgressBar1.Value = 4
d1 = Text1.Text
d2 = Text2.Text
h = Text3.Text
Debug.Print d1, d2, h
strfilename = "@垫圈.sldprt"
    part.Parameter("d1 @ 草图2 " & strfilename).SystemValue = d1 / 1000
    part.Parameter("d2 @ 草图2 " & strfilename).SystemValue = d2 / 1000
    part.Parameter("h  @ 拉伸1 " & strfilename).SystemValue = h / 1000
    part.EditRebulid
ProgressBar1.Value = 9
Set part = Nothing
Set swApp = Nothing
ProgressBar1.Value = 100
StatusBar1.Panels(1).Text = "更新结束"
End Sub

调试时还是提示对象变量或with块变量未设置,可以能再帮我找下问题吗?万分感谢
2014-04-15 21:57
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 4 楼 owenlu1981
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.PartDoc
~~修改成这个会显示用户定义类型未定义。
关于之前那个调试问题出在
 Part.Parameter("d1 @ 草图1 " & strfilename).SystemValue = d1 / 1000
~~是不是这里的问题呢?
2014-04-15 22:49
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 6 楼 owenlu1981
我这是用VB对solidworks的二次开发~~在引用那里把关于solidworks的都勾上了,还是不行。本人新手,希望能教下
2014-04-16 16:37
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 8 楼 owenlu1981
出错语句一直都是
 part.Parameter("d1 @ 草图1 " & strfilename).SystemValue = d1 / 1000
这句~~
调试的错误就是实时错误91,对象变量或with变量未设置。
2014-04-17 12:26
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 10 楼 lowxiong
把那句出现后还是出现同样的错误,还是
 part.Parameter("d1 @ 草图1 " & strfilename).SystemValue = d1 / 1000
这里有问题
2014-04-18 14:58
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 11 楼 owenlu1981
但是调试时程序是可以打开solidworks的指定文件,也就是“垫圈”这一文件的,感觉是修改参数这一步有问题
2014-04-18 15:05
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 14 楼 owenlu1981
还是不行。我觉得是solidworks的文件垫圈的参数D1,D2没和程序关联起来~
2014-04-18 17:07
ck3670
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-4-13
收藏
得分:0 
回复 16 楼 owenlu1981
这里是打开solidwork文件,没问题的
2014-04-21 12:11
快速回复:实时错误91,对象变量或with块变量未设置~~如何解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved