Автоматическое сохранение и закрытие файла по таймеру |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
В некоторых случаях, например при сохранении файла Excel на общем диске, когда файл все еще открывается пользователем, другие не могут редактировать книгу. Так как же автоматически закрыть файл после определенного времени простоя, чтобы облегчить другим работу? Эта статья поможет вам с методом VBA.
Автоматическое сохранение и закрытие файла Excel после определенного времени бездействия с кодом VBA
Автоматическое сохранение и закрытие файла Excel после определенного времени бездействия с кодом VBA
Чтобы автоматически сохранить и закрыть файл Excel после определенного времени бездействия, сделайте следующее.
1. Откройте рабочую книгу, которая должна быть автоматически сохранена и закрыта после определенного времени бездействия. Затем нажмите кнопку другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, дважды щелкните Эта рабочая тетрадь на правой панели, чтобы открыть окно кода. Затем скопируйте и вставьте ниже код VBA в окно кода. Смотрите скриншот:
Код VBA 1: автоматическое сохранение и закрытие файла Excel после определенного времени бездействия
Dim xTime As String
Dim xWB As Workbook
Private Sub Workbook_Open()
'Updated by Extendoffice 2019/1/20
On Error Resume Next
xTime = Application.InputBox("Please specify the idle time:", "KuTool For Excel", "00:00:20", , , , , 2)
Set xWB = ActiveWorkbook
If xTime = "" Then Exit Sub
Reset
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
If xTime = "" Then Exit Sub
Reset
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If xTime = "" Then Exit Sub
Reset
End Sub
Sub Reset()
Static xCloseTime
If xCloseTime <> 0 Then
ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False
End If
xCloseTime = Now + TimeValue(xTime)
ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True
End Sub
3. Затем продолжайте нажимать Вставить > модуль, скопируйте и вставьте приведенный ниже код в окно модуля. Смотрите скриншот:
Код VBA 2: автоматическое сохранение и закрытие файла Excel после определенного времени бездействия
Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
4. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
5. Нажмите Файл > Сохранить как > Приложения. Смотрите скриншот:
6. в Сохранить как В диалоговом окне выберите папку для сохранения файла, назовите ее, как вам нужно, в поле Имя файла выберите Excel Macro-Enabled Workbook из Сохранить как напишите раскрывающийся список и, наконец, щелкните Сохраните кнопка. Смотрите скриншот:
С этого момента каждый раз при открытии этой книги Kutools for Excel появится диалоговое окно. Введите время сохранения и закрытия книги, а затем щелкните значок OK кнопку.
И книга будет сохранена и закрыта автоматически по истечении указанного времени простоя. Смотрите скриншот:
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (23)
Оценок пока нет. Оцените первым!
Содержание
- Как закрыть файл эксель по времени
- Как автоматически сохранить и закрыть файл Excel по истечении определенного времени простоя?
- Автоматическое сохранение и закрытие файла Excel после определенного времени простоя с кодом VBA
- Как закрыть файл эксель по времени
Как закрыть файл эксель по времени
Сообщения: 231
Благодарности: 8
Спасибо. Только как пользоваться?
Я вставил код в файл .тхт. Затем изменил расширение на .ps1
ПКМ — Выполнить с помощью PowerShell. Запустилась cmd, промелькнула красная строка и закрылось cmd.
Начал ждать, но ничего не произошло.
или другие времена имеют место впоследствии быть? »
Ладно бы запускать Excel по времени, а закрывать то как? Как минимум, надо это делать корректно, книгу, ИМХО, следует сохранить »
Сообщения: 27625
Благодарности: 8086
Источник
Как автоматически сохранить и закрыть файл Excel по истечении определенного времени простоя?
В некоторых случаях, например при сохранении файла Excel на общем диске, когда файл все еще открывается пользователем, другие не могут редактировать книгу. Так как же автоматически закрыть файл после определенного времени простоя, чтобы облегчить другим работу? Эта статья поможет вам с методом VBA.
Автосохранение и закрытие файла Excel через определенное время простоя с кодом VBA
Автоматическое сохранение и закрытие файла Excel после определенного времени простоя с кодом VBA
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и сократите тысячи щелчков мышью каждый день!
Чтобы автоматически сохранить и закрыть файл Excel после определенного времени простоя, сделайте следующее.
1. Откройте нужную книгу, чтобы она автоматически сохранялась и закрывалась по истечении определенного времени бездействия. Затем нажмите одновременно клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений .
2. В окне Microsoft Visual Basic для приложений дважды щелкните ThisWorkbook на правой панели, чтобы открыть окно кода. Затем скопируйте и вставьте ниже код VBA в окно кода. См. Снимок экрана:
Код VBA 1: автоматическое сохранение и закрытие файла Excel после определенного времени бездействия
3. Затем нажмите Insert > module , скопируйте и вставьте приведенный ниже код в окно модуля. См. Снимок экрана:
Код VBA 2: автоматическое сохранение и закрытие файла Excel после определенного времени бездействия
4. Одновременно нажмите клавиши Alt + Q , чтобы закрыть окно Microsoft Visual Basic для приложений .
5. Нажмите Файл > Сохранить как > Обзор . См. Снимок экрана:
6. В диалоговом окне Сохранить как выберите папку для сохранения файла, назовите ее так, как вам нужно, в поле Имя файла выберите Excel Macro-Enabled Workbook из раскрывающегося списка Тип и, наконец, нажмите кнопку Сохранить . См. Снимок экрана:
С этого момента каждый раз при открытии В этой книге появится диалоговое окно Kutools for Excel . Введите время сохранения и закрытия книги на основе, а затем нажмите кнопку OK .
После этого книга будет сохранена и закрыта автоматически. указанное время простоя. См. Снимок экрана:
Источник
Как закрыть файл эксель по времени
Модератор форума: китин, _Boroda_ |
» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое сохранение и закрытие файла по таймеру (Макросы/Sub)
Автоматическое сохранение и закрытие файла по таймеру
VIDEO56 | Дата: Среда, 19.08.2015, 12:50 | Сообщение № 1 | ||||||||||||||||||||||||||||||||||||||||||||||
|
When we save the Excel workbook in shared memory, if one person accesses the sheet, other people will be unable to save the sheet; this problem can be solved by automatically closing the sheet after a certain amount of time. This tutorial will help you understand how we can automatically save and close an Excel file after a certain idle time.
Automatically Save and Close an Excel File after a Certain Idle Time
Here we will first insert VBA code for the sheet, then create a VBA module, then run it to complete our task. Let us see a straightforward process to know how we can automatically save and close an Excel workbook after a certain time. We will be using the help of the VBA application to complete our process.
Step 1
Let us consider any Excel workbook and right-click on the sheet name and select view code to open the vba application. Then, double-click on this workbook and type «Program1» into the text box as shown in the below image.
Example
Dim xTime As String Dim xWB As Workbook Private Sub Workbook_Open() 'Updated by Nirmal On Error Resume Next xTime = Application.InputBox("Please specify the idle time:", "Plese enter the duration", "00:00:30", , , , , 2) Set xWB = ActiveWorkbook If xTime = "" Then Exit Sub Reset End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) On Error Resume Next If xTime = "" Then Exit Sub Reset End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next If xTime = "" Then Exit Sub Reset End Sub Sub Reset() Static xCloseTime If xCloseTime <> 0 Then ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False End If xCloseTime = Now + TimeValue(xTime) ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True End Sub
Step 2
Now click on «Insert,» select «Module,» and type «Program 2» into the text box as shown in the below image.
Example
Sub SaveWork1() 'Updated by Nirmal Application.DisplayAlerts = False ActiveWorkbook.Save ActiveWorkbook.Close Application.DisplayAlerts = True End Sub
Step 2
Save the work sheet as a macro-enabled template, close the sheet, and then reopen the sheet. Then click on «Enable code,» then enter the time you want your sheet to open, then click «OK.»
Conclusion
In this tutorial, we used a simple example to demonstrate how you can automatically save and close an Excel workbook after a certain idle time.
Добрый день. Вписал в макрос, который не дает пользоваться книгой без включения макросов, строчку для закрытия файла по таймеру. Все работает, вот только если макрос по истечению времени сам закрывает файл, то при следующем открытии файла лист с инструкцией по включению макросов не появляется и возможно работать в файле без включения макросов, а следовательно и макрос на отключение по таймеру работать не будет. Он появляется снова только при разовом включении макросов самостоятельно, а потом снова все работает, до закрытия файла макросом.
Подскажите, пожалуйста, что нужно поменять, чтобы сообщение о включении макросов выходило всегда при открытии файла и не важно было закрыл ли его макрос или человек вручную.
Код для книги:
Код |
---|
'Данная процедура скрывает перед закрытием книги все листы, 'кроме листа "Внимание" Sub Workbook_BeforeClose(Cancel As Boolean) Application.ScreenUpdating = False Dim wsSh As Worksheet Sheets("Внимание").Visible = -1 For Each wsSh In ThisWorkbook.Sheets If wsSh.Name "Внимание" Then wsSh.Visible = 2 Next wsSh ThisWorkbook.Save End Sub 'Данная процедура показывает перед открытием книги все листы, 'кроме листа "Внимание" Sub Workbook_Open() Dim wsSh As Worksheet For Each wsSh In ThisWorkbook.Sheets wsSh.Visible = -1 Next wsSh ThisWorkbook.Sheets("Внимание").Visible = 2 Application.OnTime Now + TimeValue("00:01:00"), "CloseBook" End Sub |
Код для модуля:
Код |
---|
Public iTimer As Date Private Sub CloseBook() ThisWorkbook.Close (True) End Sub |