Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: pashulka
Аноним, Не рекомендую использовать предыдущий код в качестве решения Вашего вопроса, причём по многим причинам :

1. Проигнорировано одно из требования, а именно автоматический запуск макроса, т.е. надо было использовать одно из двух событий : Auto_Open() или Workbook_Open()
2. Если кнопка (которая на самом деле - не нужна) располагается не в рабочем листе, а например, на панели инструментов, то предполагается, что время всегда находится в ячейке активного листа, что маловероятно, тем более, что активным может оказаться, например, лист диаграммы. В таком случае, Вы получите ошибку.
3. Свойство .FormulaR1C1 возвращает строку, причём, в случае наличия формулы (которая может возвращать в т.ч. и время) - это свойство возвратит текст формулы. Переменная же X имеет тип Date, т.е. инструкция присвоения X = ActiveCell.FormulaR1C1 будет работать только в одном случае, а именно, если ячейка содержит время в виде текста (), во всех остальных случаях Вы получите ошибку.

И есть ещё один момент, который не учтён в первоначальной версии Вашего макроса :
Если закрыть рабочую книгу, где находится макрос Clock() до наступления нужного времени (без закрытия всего приложения) то при достижении указанного времени MS Excel откроет эту книгу и запустит макрос Alarm()

В общем, если Вас ещё интересует этот вопрос, и Вы хотите избежать выполнение макроса после закрытия книги, то Вы можете написать мне напрямую, и я вышлю нужный пример с таймером.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.