![]() |
Скрипт, который открывает и закрывает в назначенное время файл Excel
Всем привет!
Не могли бы написать скрипт, который будет открывать в назначенное время файл Excel, а через десять минут после открытия закрывать. Например, в коде перечислить определенные даты и время, в которые надо открыть файл. 28.12.20 12:30 28.12.20 19:45 30.12.20 2:35 30.12.20 5:10 02.01.21 14:00 02.01.21 16:32 04.01.21 19:30 04.01.21 21:10 C:\Users\Администратор\Desktop\Новая папка\Лист Excel.xlsx |
v79italya, могли бы. Опишите, пожалуйста, смысл данной задачи.
|
[решено] Открытие, изменение и сохранение книг Excel
Паузу сами добавьте. Даты и время запуска - это в планировщике заданий делается. |
Здравствуйте!
С Новым годом! Извиняюсь что не следил за темой - на работе годовые отчеты, еще и зарплату надумали дать до праздника - пришлось каждому сотруднику выхлопы считать. Цитата:
Цитата:
|
Powershell:
Код:
$t = (get-date).ToString("dd.MM.yy H:mm") |
v79italya,
Цитата:
Цитата:
ИМХО, если времена постоянно будут обновляться, то надо, по видимому, выносить список во внешний файл и перепрочитывать его, допустим, каждую минуту. Хотелось бы, если что-то делать, делать это более осознанно. |
Цитата:
Я вставил код в файл .тхт. Затем изменил расширение на .ps1 ПКМ - Выполнить с помощью PowerShell. Запустилась cmd, промелькнула красная строка и закрылось cmd. Начал ждать, но ничего не произошло. Цитата:
Задумывалось так: зарядить ружье раз в две недели и пусть стреляет по команде. Вообще ноутбук будет выключаться и включаться и скорее всего скрипт надо по новой запускать. Но это секундное дело. Цитата:
Код от DJ Mogarych таким простым для изменений кажется. Запустить бы еще |
v79italya, самое правильное — не «открывать Рабочую книгу Microsoft Excel, как запускать макрос при открытии файла - уже нашел», а вынести весь код макроса во внешний скрипт WSH/PowerShell, который будет исполняться в потребные интервалы времени, и каковой и будет осуществлять потребную обработку указанной Рабочей книги.
|
Цитата:
Только мне макрос легче изменить чем скрипты. Поэтому скрипту отведено только открытие и закрытие файла. Иначе за каждым изменением скрипта придется обращаться за помощью на форумы что не очень то и хотелось бы. |
Цитата:
|
Цитата:
|
Цитата:
Я вот не представляю, как будет работать вариант запуска по времени от DJ Mogarych. В смысле, я представляю, что надо в нем допиливать ради вашей странной хотелки. |
Ну, по идее, скрипт в этом варианте надо запускать в планировщике каждую минуту.
А вообще, конечно, в скрипт нужно перенести всё то, что делает макрос, чтобы решение было не таким костыльным. |
Цитата:
|
Цитата:
Цитата:
Цитата:
Мне в скрипт переносить всю работу макроса не надо. Причина: не разбираюсь в скриптах и ничего без помощи не смогу сделать. К тому же в файле может быть запрос Power Query, который обновляет макрос и сохраняет изменения. Как то так |
v79italya,
Вариант решения (сохраните код в файл.vbs), как Вы поставили задачу
Код:
FileXlsm = "C:\Users\Администратор\Desktop\Новая папка\Лист Excel.xlsm" В текстовом файле есть расписание запуска Excel, например Код:
04.01.21 22:17 При запуске скрипта прочитывается файл с расписанием и пока это расписание не исчерпается, этот файл перепрочитываться не будет. Скрипт будет висеть запущенным, с заданным интервалом анализировать расписание, запускать Excel во время, близкое к расписанию с заданной погрешностью, ждёт указанное время, затем сохраняет файл, закрывает его, прекращает работу Excel. При исчерпании расписания скрипт попытается заново прочесть файл с расписанием, если файл обновлен и в нём присутствуют времена исполнения больше текущего, скрипт продолжит работу, иначе его работа будет завершена. |
megaloman, большое спасибо!
Попробую завтра, при свободном времени, опробовать. По описанию, я так понял, Вы в коде все предусмотрели. Без регулярного перечитывания.Даже вывод сообщений на случай ошибочных данных или завершения работы скрипта. Еще и сохранение изменений в файле. Спасибо! |
megaloman, все работает!
Поначалу не мог запустить на windows 10. Не мог создать файл с расширением .vbs Установил Notepad+, но он сохранял текстовый файл в .vb. Я еще не сразу понял и часа два возился с .vb-файлом. Потом уже в сети скачал готовый скрипт.vbs и заменил код. Все круто! Единственное, если открыт еще файл Excel и он активный, то может закрыть вместо нужного активный. Еще реагирует на кириллицу в пути. А так скрипт просто супер! Спасибо большое! |
Вложений: 1
Цитата:
Код:
xls.Quit Цитата:
|
megaloman, попробую завтра опробовать
Спасибо! |
Время: 20:20. |
Время: 20:20.
© OSzone.net 2001-