vb6.0 跪求高手,实时错误91,对象变量或with block变量块变量未设置

共有 2590 人关注过本帖
标题:实时错误91,对象变量或with块变量未设置~~如何解决
等 级:新手上路
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:17&&&
实时错误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
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 = &更新结束&
在最后&&part.Parameter(&d1 @ 草图2 & & strfilename).SystemValue = d1 / 1000~~~调试时就会出现实时错误91,对象变量或with块变量未设置,有大神告诉怎么解决吗?
搜索更多相关主题的帖子:
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
&&得分:20&
1. strfilename 赋值应前置,否则永远找不到文件
strfilename = App.Path + &\& + &垫圈.sldprt&
If Dir(strfilename) = && Then
&&&MsgBox (&文件不存在,请检查路径:& & vbCrLf & strfilename)
&&&Exit Sub
2. swApp 应先定义再创建对象 (如使用Excel,则 Dim xlApp As New Excel.Application)
Dim swApp As ······
Set swApp = CreateObject(&sldworks.application&)
等 级:新手上路
回复 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
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 = &更新结束&
调试时还是提示对象变量或with块变量未设置,可以能再帮我找下问题吗?万分感谢
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.PartDoc
Set swApp = CreateObject(&SldWorks.Application&)
Set Part = swApp.ActiveDoc
swApp.Visible = True
等 级:新手上路
回复 4 楼 owenlu1981
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.PartDoc
~~修改成这个会显示用户定义类型未定义。
关于之前那个调试问题出在
Part.Parameter(&d1 @ 草图1 & & strfilename).SystemValue = d1 / 1000
~~是不是这里的问题呢?
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
回复 5 楼 ck3670
得先在工程-&引用里添加对象
比如程序中使用Excel,就得先应用 Microsoft Excel xx.0 Object Library
等 级:新手上路
回复 6 楼 owenlu1981
我这是用VB对solidworks的二次开发~~在引用那里把关于solidworks的都勾上了,还是不行。本人新手,希望能教下
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
出错语句或对象是?
等 级:新手上路
回复 8 楼 owenlu1981
出错语句一直都是
part.Parameter(&d1 @ 草图1 & & strfilename).SystemValue = d1 / 1000
调试的错误就是实时错误91,对象变量或with变量未设置。
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
Set part = swApp.opendoc4(strfilename, 1, 0, &&, longstatus)
Set part = swApp.ActivateDoc(&垫圈&)
取消红色set试试,一个对象接连两次实例化肯定不合规矩。
版权所有,并保留所有权利。
Powered by , Processed in 0.084836 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 vb6.0中静态变量 的文章

 

随机推荐