У меня есть макрос, который должен запускаться каждые x минут, чтобы сохранить текущий файл в указанном месте. Я использовал эту ссылку, чтобы написать код -> Стиль VBA Macro On Timer для запуска кода каждые заданное количество секунд, т.е. 120 секунд
Однако макрос срабатывает, когда открыт другой файл Excel, и кто-то работает над ним.
Есть ли способ прервать текущую операцию пользователя и сообщить ему об этом с помощью окна сообщения или чего-то еще, чтобы макрос мог продолжить работу?
Dim TimeToRun, k, RDNum, DestinationFolderName, MasterFile, TestCellNum
Sub ScheduleIt()
TimeToRun = Now + TimeValue("00:00:10")
Application.OnTime TimeToRun, "CopyPriceOver"
End Sub
Sub CopyPriceOver()
Windows(MasterFile).Activate
Worksheets("Save Log").Activate
dt = Format(CStr(Now), "mm-dd-yyyy hh-mm-ss")
MasterFileName = DestinationFolderName & "RD" & RDNum & " " & TestCellNum & " " & dt & ".xlsb"
ActiveWorkbook.SaveAs Filename:=MasterFileName, FileFormat:=xlExcel12, CreateBackup:=False
Call ScheduleIt
End Sub
Sub AutoOpen()
k = 1
Worksheets("Test Header").Activate
RDNum = Range("C4").Value
LR = Cells(Rows.Count, "I").End(xlUp).Row 'Sets the last row
TestCellNum = Cells(LR, "I").Value
DestinationFolderName = "\\C:\Directory\"
MasterFile = ThisWorkbook.Name
Call ScheduleIt
End Sub
Sub AutoClose()
Application.OnTime TimeToRun, "CopyPriceOver", , False
End Sub