Я тестирую некоторый код, который должен копировать данные в глобальный трекер, когда пользователь заканчивает свою работу и закрывает ее. Он работает нормально, когда я тестирую его с помощью кнопки, но когда я использую его с событием BeforeClose, целевой Excel открывается пустым без ленты, строки меню, никаких данных не вставляется, и через окно видна какая-то странная строка (см. Вложение). Это случайно, иногда работает нормально, иногда нет. Кто-нибудь знает, почему это происходит?
Это мой код:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim path As String
Dim wb As Workbook
Cancel = False
path = ThisWorkbook.path & "\Test.xlsx"
Range("A1:F10").Copy
On Error GoTo Handler
Workbooks.Open (path)
On Error GoTo 0
Set wb = Workbooks("Test")
Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'wb.Close False
MsgBox "OK"
Exit Sub
Handler:
MsgBox "Someone else is saving their data at the moment." & vbNewLine & _
"Please try in a few seconds"
Cancel = True
End Sub