#excel #vba #timer
#excel #vba #таймер
Вопрос:
Я пытаюсь использовать Application.OnTime
метод VBAs для вызова функции каждую минуту. Код, который у меня есть до сих пор, выглядит следующим образом.
Определяется глобально:
Dim alertTime As Date
В одном из первых методов, который вызывается:
alertTime = Now TimeValue("00:00:10")
Application.OnTime alertTime, "myFunc"
В myFunc
методе:
alertTime = Now TimeValue("00:00:10")
Application.OnTime alertTime, "myFunc"
через 10 секунд после запуска макроса я получаю диалоговое окно с предупреждением Error loading DLL
. Я не указал никаких других библиотек DLL, которые будут загружены в myFunc
метод, так что, похоже, это не проблема. Есть ли дополнительная библиотека, которую мне нужно включить для использования Application.OnTime
?
Ответ №1:
Не должно быть, myFunc находится в том же пространстве имен? Если myFunc не находится в вашем пространстве имен или еще не создан как макрос, по умолчанию используется приложение.Вместо этого OnTime будет искать модуль с именем myFunc .
Комментарии:
1. Это звучит примерно так. Знаете ли вы какие-нибудь хорошие учебные пособия по использованию пространств имен или модулей? Ничто из того, что я понимаю из C, кажется, не очень хорошо переводится.
2. cpearson.com/excel/codemods.htm является достойным руководством по модулям Excel, msdn.microsoft.com/en-us/library/bb221399 (v = office.12).aspx содержит некоторую информацию, непосредственно связанную с вашим приложением. OnTime, надеюсь, это поможет вам!