当有人打开工作簿时,我有一个密码验证步骤。我有多个用户将访问此工作簿,并且基于此我分配了一个名为user的变量来确定其中谁在使用它。
Public pwd, user As String
Public graccess As Integer
Private Sub workbook_open()
graccess = 0
Do
pwd = InputBox("Please provide your password", "Authentication")
If pwd = "access" Then
user = "GTS"
graccess = 1
ElseIf pwd = "enter" Then
user = "AP"
graccess = 1
Else
MsgBox ("failed to authenticate")
pwd = ""
graccess = 0
End If
Loop Until graccess = 1
End Sub
现在,当这个用户开始在 Excel 表上工作时,我需要检查用户变量以检查哪个用户正在访问该表。由于此代码现在将出现在 *worksheet_change* 事件中,因此它是一个不同的子例程,它将在前一个代码完成运行并且不再使用后运行。
所以我的问题是我无法在变量中看到用户,因为我的 workbook_open 事件已经结束并且代码已停止运行?我能做些什么来确保变量不会失去它的价值?
谢谢你的耐心:)