Страницы: 1
RSS
Запуск файла Excel по расписанию
 
И снова здравствуте!
Такая проблема - никогда не работал с диспетчером задач планировщиком заданий  в Windows, возможно ли там задать запуск определенного файла Excel по расписанию, например, каждый день в 8:00
Все остальные файлы Excel при этом закрыты.
Возможно ли это сделать на сервере?
если возможно - подскажите как.
Или нужно держать файл открытым и там уже запускать по расписанию макрос?
Изменено: Михаил Витальевич С. - 27.01.2019 15:08:56
 
Добрый день. Можно создать vbs скрипт в блокноте, и сохранить его с расширением vbs, а уже его подцепить в планировщик. Так удобнее - не надо держать Excel открытым. В нем указываем какую книгу хотим вызвать и какой макрос в ней. Код из своих проектов:
Код
set App = createobject("excel.application")
App.visible = false
App.Workbooks.Open("C:\Users\Игорь\AppData\Roaming\Microsoft\AddIns\Учет производства.xlam")
App.Run("ГрупповаяОбработка")
App.quit
Изменено: Djinn - 27.01.2019 15:17:24
 
Цитата
Djinn написал:
В нем указываем какую книгу хотим вызвать и какой макрос в ней.
А надо указывать макрос, если он запускается при открытии книги? Или лучше запускать его из vbs-скриптом?
Теперь еще бы разобраться, как скрипт подцепить к планировщику, попробовал запустить файл Excel через планировщик; теперь макрос его не находит. :(

Да и строка App.quit обязательна?
Изменено: Михаил Витальевич С. - 27.01.2019 15:52:00
 
Макрос лучше перенести в обычный модуль а не книгу. Если не хотите заморачиваться с планировщиком - можно запустить макрос кодом VBA, правда книга для этого должна быть открыта.
Код
Sub Робот()
Application.AutoRecover.Enabled = False
Application.OnTime TimeValue("8:15:00"), "Имя_макроса_к_запуску"
End Sub

В конце макроса к запуску также должна быть строка вызова, чтобы таймер сработал более 1 раза (например на выходных)

 Sub Имя_макроса_к_запуску ()
................
Application.OnTime TimeValue("8:15:00"), "Имя_макроса_к_запуску"
End Sub

т.е. чтобы он вызывал сам себя.

Изменено: Djinn - 27.01.2019 16:08:56
 
У меня сам макрос в обычном модуле; в модуле книги - только запуск этого макроса, на  Workbook_Open()
Djinn, спрасибо, буду разбираться.
Изменено: Михаил Витальевич С. - 27.01.2019 16:48:57
 
Михаил, а в чем проблема?
Запускаешь планировщиком, срабатывает Workbook_Open(), и далее по тексту.
Или я чего не понимаю?
 
Михаил Витальевич С., https://www.planetaexcel.ru/techniques/3/6638/
На сервере или станции это делать - разницы нет, планировщик одинаков, разве что
1 Естественно нужно чтоб Excel был установлен
2. внимательно подойти тому что вроде не описано в статье, это пользователь, из под которого должен запускаться процесс. На практике не допустимо запускать из под имени обычного пользователя, так как в случае его блокировки или смены пароля, автоматическая задача не стартует, ну и это приводит к проблемам.
Изменено: БМВ - 27.01.2019 17:54:14
По вопросам из тем форума, личку не читаю.
 
RAN, Ну я попробовал, указал в планировщике конкретный файл, через 2 минуты время подошло - сначала спросил, чем его открыть, а потом не открыл. Счас уже не помню что там было и как.
БМВ, с трудом, но что-то понял :)
Спасибо всем.

зы.
Посмотрел статью по ссылке от БМВ, стало как-то прояснятся.
Еще раз спасибо.
Изменено: Михаил Витальевич С. - 27.01.2019 17:34:17
 
Цитата
Михаил Витальевич С. написал:
с трудом, но что-то понял
Михаил, объяснятель из меня еще тот, особенно когда уровень подготовки аудитории в обсуждаемом вопросе не известен   :-) Всегд абыло проще на конкретный вопрос ответить.
По вопросам из тем форума, личку не читаю.
 
Сам такой. :)
 
В общем, насколько я понял, что если у меня нет доступа ни к компу, на котором работают, ни, тем более к серверу, то это - дело сис.админа?
Страницы: 1
Наверх