我有一个包含按钮cmdChangeWeight的MODAL表单formX。用户单击cmdChangeWeight并在Type 1 Application.InputBox中输入权重,然后单击OK或CANCEL返回到formX。
问题是在Type 1 Application.InputBox打开后,用户可以点击并滚动我的工作表,即使他们点击OK或取消,但我的MODAL表格仍然打开。我的期望是在输入完成并且控件传回formX后,用户再也无法触及底层工作表。
'问题似乎出现在Application.InputBox语句中。在那之后,我可以点击工作表单元格,但之前不能。 InputBox如何使我的表单在模态时始终处于模态状态?我有另一个Application.InputBox(类型8)调用相同窗体的另一个按钮,但当它关闭时,触摸工作表的能力结束(预期)。
On Error Resume Next
Application.DisplayAlerts = False
'Prompt user for new weight. Allow cancel.
vResponse = Application.InputBox(Prompt:="ID " & sID & ", " & _
Format(dDate, gsDATE_DISPLAY_FORMAT) & ", " & _
sProduct & vbCrLf & _
"Available = " & Format(Me.lstSource.List(iItemNum, 4), "0.00") & vbCrLf & _
"Enter new weight (in lbs)", _
Title:="Change Weight", Default:=Format(rOldWeight, "0.00"), type:=1)
On Error GoTo ErrorHandler
Application.DisplayAlerts = True
'我尝试将InputBox行更改为此,我遇到了同样的问题。
vResponse = Application.InputBox("Hi", type:=1)
'然后我尝试从Application.InputBox更改为InputBox。这样做是为了保护我的工作表,但在所有情况下都不是一个可接受的解决方案。我仍然想知道真正的答案。
vResponse = InputBox(Prompt:="ID " & sID & ", " & _
Format(dDate, gsDATE_DISPLAY_FORMAT) & ", " & _
sProduct & vbCrLf & _
"Available = " & Format(Me.lstSource.List(iItemNum, 4), "0.00") & _
vbCrLf & vbCrLf & _
"Enter new weight (in lbs)", _
Title:="Change Weight", Default:=Format(rOldWeight, "0.00"))
在我关闭Application.InputBox后,我的模态表单是如何允许工作表可滚动和可点击的?
谢谢! 斜里
(P.S。这是转发,因为我在故障排除方面得到了进一步的帮助,需要大家再看看。)