Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2012, 11:55   #1
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию Автономный запуск макроса

Коллеги, подскажите, пожалуйста, возможно ли сделать механизм запуск макроса автоономным, чтобы он запускался в закрытом (неактивном файле) скажем в определенное время каждый день или определенного числа в определенное время?
Zorg вне форума Ответить с цитированием
Старый 10.02.2012, 12:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Да, и делается это очень просто
Просто поместите ссылку на ваш файл Excel в Планировщик Windows,
и Windows сама запустит файл в нужный день в нужное время
(или будет запускать его регулярно, по расписанию)

Останется только вызов макроса поместить в событие Workbook_Open,
чтобы макрос запускался при открытии файла.
EducatedFool вне форума Ответить с цитированием
Старый 10.02.2012, 12:00   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Запускайте vbs - код в чистом виде, без груза xls. Смотря конечно по задаче - но на 90% задач можно обойтись без xls.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.02.2012, 12:36   #4
Djeki
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 136
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Просто поместите ссылку на ваш файл Excel в Планировщик Windows,
и Windows сама запустит файл в нужный день в нужное время.
А можно с помощью VBA, добавить задачу в Планировщик Windows. Например запустить эту книгу , потом сработает событие Workbook_Open, и закрыть данную книгу событие Workbook_Close.
Спасибо за ответ..
Djeki вне форума Ответить с цитированием
Старый 10.02.2012, 13:25   #5
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Да, и делается это очень просто
Просто поместите ссылку на ваш файл Excel в Планировщик Windows,
и Windows сама запустит файл в нужный день в нужное время
(или будет запускать его регулярно, по расписанию)

Останется только вызов макроса поместить в событие Workbook_Open,
чтобы макрос запускался при открытии файла.
EducatedFool, спасибо за совет, с планировщиком в целом разобрался, единственное непонятно: Планировщик выполняет действие "Запуск программы", следовательно макрос ставится в открытие книги. Но книга после этого не закрывается, т.е. файл остается открытым. Функции "Закрытие программы" в планировщике нет.
Насколько я понимаю, если в открытие книги воткнуть макрос, закрывающий книгу, то потом этот файл станет невозможно открывать вручную (от же будет сразу закрываться). Разве не так?
Как решить эту проблему, не подскажете?
Zorg вне форума Ответить с цитированием
Старый 10.02.2012, 14:12   #6
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Zorg Посмотреть сообщение
EducatedFool, спасибо за совет, с планировщиком в целом разобрался, единственное непонятно: Планировщик выполняет действие "Запуск программы", следовательно макрос ставится в открытие книги. Но книга после этого не закрывается, т.е. файл остается открытым. Функции "Закрытие программы" в планировщике нет.
Насколько я понимаю, если в открытие книги воткнуть макрос, закрывающий книгу, то потом этот файл станет невозможно открывать вручную (от же будет сразу закрываться). Разве не так?
Как решить эту проблему, не подскажете?
...ну как вариант можно при закрытии книги сделать обратный отсчет и кнопку "отмена"
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 10.02.2012, 14:19   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Сделать специальную книгу с этим макросом. Только для этой работы - открыться, отработать, закрыться.
Ну или запускать vbs, который откроет нужную книгу, запустит макрос, закроет книгу.
Но тогда зачем вообще эта книга? Всё сделать с помощью vbs.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 10.02.2012, 15:43   #8
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Сделать специальную книгу с этим макросом. Только для этой работы - открыться, отработать, закрыться.
Ну или запускать vbs, который откроет нужную книгу, запустит макрос, закроет книгу.
Но тогда зачем вообще эта книга? Всё сделать с помощью vbs.
Hugo121, СПАСИБО за идею с отдельной книгой и макросом. Просто сделать книгу, которая при открытии открывает сандартный файл и закрывает его, после чего закрывается сама. Чего-то как-то об этом не подумалось сразу

С vbs не знаком, не поделитесь ссылкой, где доходчиво об этом написано?
Zorg вне форума Ответить с цитированием
Старый 10.02.2012, 15:54   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно отсюда начать:
http://en.wikipedia.org/wiki/Windows_Script_Host
Ну а вообще первоисточник вероятно тут:
http://msdn.microsoft.com/en-us/libr...(v=vs.84).aspx

Синтаксис близок к VBA Экселя - макросы легко модифицировать. Типы переменных только убрать и в общем всё
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.02.2012, 13:44   #10
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Можно отсюда начать:
http://en.wikipedia.org/wiki/Windows_Script_Host
Ну а вообще первоисточник вероятно тут:
http://msdn.microsoft.com/en-us/libr...(v=vs.84).aspx

Синтаксис близок к VBA Экселя - макросы легко модифицировать. Типы переменных только убрать и в общем всё
Hugo121, спасибо за ссылки
Zorg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск макроса из VBA raytek Microsoft Office Access 16 16.08.2015 19:33
Запуск макроса kaa1977 Microsoft Office Excel 5 12.04.2011 10:44
Запуск макроса Gvaridos Microsoft Office Excel 4 22.11.2010 11:35
Запуск макроса serafim09 Microsoft Office Excel 9 03.09.2009 16:55
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43