powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск макроса в определённое время.
13 сообщений из 13, страница 1 из 1
Запуск макроса в определённое время.
    #39884964
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я знаю, что при старте можно запустить скрытую форму. Включить на ней таймер и опрашивать текущее время с определённым интервалом.

Но вот в Excel есть такая вещь как
Код: vbnet
1.
    Application.OnTime TimeToRun, "MyMacro"

Запуск макроса в определённое время.
Заинтересовало. Попробовал сделать так
Код: vbnet
1.
2.
3.
4.
5.
   Dim TimeToRun As Date
   Set appExcel = CreateObject("Excel.Application")

    TimeToRun = Now + TimeValue("00:00:10")     'прибавляем к текущему времени 10 сек
    appExcel.OnTime TimeToRun, "MacrosTest1"     'назначаем следующий запуск

Выдало следующее сообщение. А можно это как-то обойти. Или глухо?


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39884992
Joss, где находится процедура MacrosTest1? ИМХО, этот метод ищет процедуру в общем модуле активной книги или в файле Personal.XLSB. У меня это получилось только при запуске в VBA Excel-я. В VBA Акса ошибка не появляется но и в процедуру из Personal.XLSB не попадает (а активной книги в вашем экземпляре Excel-я нет)
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39884993
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макрос находится в самом Аксе. Открытой книги Excel у меня нет.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885105
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YouTube Video
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885120
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
Буквально на прошлой неделе ковырял данную возможность. В Экселе.
Есть один нюанс, нужно выполнять запуск той процедуры на которую ссылается application.ontime из общего модуля.
Выполняемую процедуру сделайте Sub типа Public. Должно стартануть. Почему разрабы сделали именно так, фиг знает. Но в хелпе майкрософта рекомендуется.
Если не полетит, вставьте вызов application.ontime тоже в общий модуль и тоже public sub.

Должно полететь.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885123
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нет, не полетит, погорячился. Без создания дополнительного модуля ,причем программно, при запуске Excel.Application ничего не выйдет.

Зато есть апишные функции, которые не привязаны к приложению:

Код: vbnet
1.
2.
3.
Private Declare Function timeGetTime Lib "winmm.dll" () As Long '32

Private Declare PtrSafe Function timeGetTime Lib "winmm.dll" () As Long' 64



С ними можно учудить все что угодно. Отсчет начинается с запуска этой функции.

И еще кучу интересных и нужных функций можно посмотреть тут: ТУТ
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885164
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timeGetTime - это не совсем то что мне нужно. Даже совсем не то.

Поясняю задачу. В определённое время, например, в 15:30 проводятся на сервере некоторые операции. Копирование, архивирование, обновление данных и т.п. Лучше бы, что бы в это время клиент был отключен от таблиц. Вот и хотелось бы для предупреждения использовать эту функцию - Application.OnTime .
Знаю, что при запуске можно открыть скрытую форму и запустить в ней таймер, но хотелось сделать красивее.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885171
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss
но хотелось сделать красивее.

"красивее" - это когда сервер сообщает клиенту..я так думаю
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885182
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

В windows Schedule помести эту свою задачу. Он для такого и предназначен
И, собственно, можно задачу в шедулере создавать/удалять программно , если сильно хочется :)

Ну и что бы совсем по сабжу было, запуск акс базы с ключем "/x макрос" выполняет заданный макрос .
Т.е. в шедулере будет что-то типа : "C:\Program Files\...\MSACCESS.EXE" "{путь и имя БД}" /x MacrosTest1
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885199
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha
Joss
но хотелось сделать красивее.

"красивее" - это когда сервер сообщает клиенту..я так думаю
Это только одна из задач, которую хотел подвязать к данному методу. Есть и другие.

А сервер... За него отвечает человек, не относящийся к нашему отделу. Мы тут вообще, как бедные родственники. "Сидите и не выёживайтесь" Короче, это внутренняя кухня организации на которую я повлиять не могу.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885201
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court, Это не подходит.

Настроить Schedule я не могу. Закрыто политикой безопасности. Я могу править только программу. Всё.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885202
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, посмотри вот эту тему - https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1313566&msg=21906414]Класс таймера [VB6/VBA].
Думаю хватит одного из двух вариантов.
...
Рейтинг: 0 / 0
Запуск макроса в определённое время.
    #39885210
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
Joss, посмотри вот эту тему - https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1313566&msg=21906414]Класс таймера [VB6/VBA].
Думаю хватит одного из двух вариантов.

Спасибо. Попробую.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск макроса в определённое время.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]