注册 登录
编程论坛 VB6论坛

大神们,讲解一下这个代码为什么不执行!

suzhanpeng 发布于 2017-11-30 15:56, 1447 次点击
可以执行的代码
Private Sub MSHFlexGrid1_DblClick()
ipath = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.MouseRow, 8)
Set swApp = CreateObject("SldWorks.Application")
Set swModelDoc = swApp.ActiveDoc
Set Part = swApp.OpenDoc6("C:\Users\Administrator\Desktop\DB123.001 圆盘111.SLDPRT", 1, 0, "", longstatus, longwarnings)
End Sub


不执行的代码,用msgbox 显示 ipath=C:\Users\Administrator\Desktop\DB123.001 圆盘111.SLDPRT
Private Sub MSHFlexGrid1_DblClick()
ipath = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.MouseRow, 8)
Set swApp = CreateObject("SldWorks.Application")
Set swModelDoc = swApp.ActiveDoc
Set Part = swApp.OpenDoc6(ipath, 1, 0, "", longstatus, longwarnings)
End Sub
2 回复
#2
xyxcc1772017-11-30 19:51
程序代码都没有问题,文件名中间的空格会有影响吗?
加一句:swApp.Visible=True

[此贴子已经被作者于2017-11-30 19:54编辑过]

#3
xiangyue05102017-12-01 10:18
这个情况比较特别。有可能是solidworks兼容性问题。
现在前后加中断,看看ipath是否正确,还有Part返回值是否正常。还可以试试第二段代码ipath不从msflexgrid提取数据,而是直接赋值是不是正常。
还不行的话,这段代码在SW的VBA中试试
1