|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.05.2011, 02:19 | #11 | |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
Цитата:
А то я по не грамотности Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) непосредственно в текст программы Sub////End sub вписывал Одной проблемой меньше. |
|
05.05.2011, 03:11 | #12 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
Нашел автозапуск макроса другим макросом
И вся программа будет примерно выглядеть так Если время 10:00, то управление передается в save_1, а если 19:00, то обратнов Auto_Open Остались 2 вопроса: 1. Что нужно что бы включился 1 макрос Auto_Open? Надо открыть Excel, эту книгу (файл) и запустить 1 макрос в ручную, а он в опр время запустит второй или что то изменить в настройках самого Excel Ведь пока файл не открыт, то и макрос не активен..... Можно ли сделать что бы макрос запускался автоматически при открытии книги? Дело в том что прога которая пересылает данные в EXCEL сама открывает нужный файл, а это и есть 1 момент поступления данных...... 2.Как организовать остановку программы в ручную, ну к примеру день предпраздничный короткий, а прога еще час работать будет, привязано ко времени.... К примеру ввести переменную L в тело цикла по умолчанию равно 1, а если нажать одновременно 1+2+3 изм на ноль (как это сделать?). А в цикле проверку 1 работаем, 0 выход. И как при необходимости возобновить запись данных, если нажатие было к примеру случайным, не с начальной позиции, а с того места где закончили..... Пусть и с потерей тех данных пока программа не активна Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) sub Auto_Open() Application.OnTime TimeValue("10:00:00"),"save_1" End sub Sub save_1() ................................... 3: For j = 1 To 21 ............................ 10: If Application.Now= TimeValue("19:00:00") Then GoTo 1 .......................... sleep 100 GoTo 3 1: Range("A25") = Time Range("A32") = Range("A25").Value End Sub |
05.05.2011, 03:32 | #13 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
1. поместить его в программный модуль
sub Auto_Open() If Now > Date + 10 / 24 Then save_1 Else Application.OnTime Date + 10/24, "save_1" end if End sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
05.05.2011, 05:15 | #14 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Здесь есть код для запуска макроса через заданное количество миллисекунд:
Цитата:
|
|
10.05.2011, 21:28 | #15 |
Пользователь
Регистрация: 13.04.2011
Сообщений: 58
|
Путем проб и ошибок решил задачку
Одним Sleep ее решить не получилось, т.к Excel замирает на время задержки и не реагирует на внешние запросы.... Пришлось организовать цикл в связке: DoEvents Sleep Если после запуска макроса Excel не трогать все работает.... В остальном тестирую. |
16.03.2016, 11:36 | #16 |
Новичок
Джуниор
Регистрация: 16.03.2016
Сообщений: 2
|
Внесу свои пять копеек
В 64-битных системах и соответственно в версиях приложений для этих систем (написано 64-битная версия)
Данную функцию надо объявить так: Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) В противном случае Excel выдает ошибку Последний раз редактировалось Vegas_Real; 16.03.2016 в 11:41. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать цикл | cargo29 | Мультимедиа в Delphi | 1 | 22.04.2011 13:24 |
Как сделать, чтобы открытый запрос автоматически закрылся через 10 сек | Vikylik | Microsoft Office Access | 2 | 20.11.2010 19:15 |
Как округлить милисекунды в кол-во сек и мили сек? | XerSon | Общие вопросы Delphi | 2 | 09.06.2010 10:26 |
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? | Anarki | Общие вопросы C/C++ | 3 | 13.11.2009 19:23 |
Нужно сделать изменение цвета надписи каждые 15 сек | Wildice | Microsoft Office Excel | 3 | 03.11.2009 12:20 |