在连续的形式中,我试图通过发送SendKeys来复制当我获得该字段的焦点时从前一记录中的字段值。 每次场都获得焦点时,我的数字锁定都会切换。 有更好的方法吗?
Private Sub SampleDate_GotFocus()
SendKeys "^'", True
End Sub
答案 0 :(得分:0)
这是旧bug。作为一种解决方法,您可以使用下面的函数代替SendKeys,但最好的解决方案 - 如果可能的话,完全避免使用SendKeys。
Sub mySendKeys(sKeys As String, Optional bWait As Boolean = False)
Dim bNumLockState As Boolean
Dim bCapsLockState As Boolean
Dim bScrollLockState As Boolean
bNumLockState = IsNumLockOn()
bCapsLockState = IsCapsLockOn()
bScrollLockState = IsScrollLockOn()
SendKeys sKeys, bWait
If IsNumLockOn() <> bNumLockState Then
ToggleNumLock
End If
If IsCapsLockOn() <> bCapsLockState Then
ToggleCapsLock
End If
If IsScrollLockOn() <> bScrollLockState Then
ToggleScrollLock
End If
End Sub