以下Excel VBA脚本本身就可以正常工作。
Sub OpenSchedule()
Application.ScreenUpdating = False
Set w = Workbooks
src = "S:\File.xls"
w.Open Filename:=src, UpdateLinks:=False, ReadOnly:=True
End Sub
但是当我将它命名为私有子并通过传递变量从主子区域调用它时......
Private Sub OpenSchedule(loadtype, appt, partial)
Application.ScreenUpdating = False
Set w = Workbooks
src = "S:\File.xls"
w.Open Filename:=src, UpdateLinks:=False, ReadOnly:=True
'Continue Code.......
它在一个奇怪的循环中被卡在w.Open Filename上,它在一秒钟内反复打开和关闭它。我必须休息才能离开。
编辑:实际上是从带有变量的辅助子调用代码..
Sub main()
'code
Call SecondSub(a,b,c,d)
End Sub
Private Sub SecondSub(a,b,c,d)
'code
Call OpenSchedule(c,d,e,f)
End Sub
Private Sub OpenSchedule(c,d,e,f)
Application.ScreenUpdating = False
Set w = Workbooks
msgbox "Break"
src = "S:\File.xls"
w.Open Filename:=src, UpdateLinks:=False, ReadOnly:=True
'Continue Code.......
我在其中放入了一个Msgbox中断,并确定当它尝试打开其他工作簿时,它会重置为OpenSchedule子的顶部,因为msgbox行一直在执行。