Application.onTime повторно вызывает открытие документа - VB
Формулировка задачи:
Добный день. Целый день бьюсь над этой проблемой.
Суть в том, что скорее всего (это я уже методом тыка понял) после закрытия книги метод Application.onTime остается запланированным и снова открывает документ через время, которое ему запланировано для выполнения заданной ему функции. Я поборол это таким способом
Но это работает (файл после закрытия уже не открывается сам) только когда закрываешь книгу на крестик, а если запустить функцию - closeFile, то файл снова откроется после закрытия. Я в затыке конкретном, ведь во время выполнения функции closeFile все равно вызовится -
Суть в том, что скорее всего (это я уже методом тыка понял) после закрытия книги метод Application.onTime остается запланированным и снова открывает документ через время, которое ему запланировано для выполнения заданной ему функции. Я поборол это таким способом
Но это работает (файл после закрытия уже не открывается сам) только когда закрываешь книгу на крестик, а если запустить функцию - closeFile, то файл снова откроется после закрытия. Я в затыке конкретном, ведь во время выполнения функции closeFile все равно вызовится -
Решение задачи: «Application.onTime повторно вызывает открытие документа»
textual
Листинг программы
Public cancelTime As Variant Function closeFile() Workbooks.Application.DisplayAlerts = False Application.OnTime cancelTime, "checkFile", , False Workbooks("test.xlsm").Save Workbooks("test.xlsm").Close End Function Function checkFile() cancelTime = (Now + TimeValue("00:00:05")) Application.OnTime cancelTime, "checkFile" If IsHasFile("C:\Users\vdekameron\Downloads\1.txt") = True Then closeFile End If End Function Function IsHasFile(Path As String) As Boolean If Dir(Path) = "" Then IsHasFile = False Else IsHasFile = True End If End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д