Excel VBA: график расчета ячейки - PullRequest
1 голос
/ 12 июля 2011

Я использую макрос, который взаимодействует с API для получения информации о веб-сайтах, и, как и большинство API, он использует ограничение скорости - 3 запроса в секунду / 360 в 120 секунд.

Поскольку у меня 130 000запускать записи Я не хочу сидеть за компьютером и делать это весь день, я знаю, что нужно сделать, но я не знаю как.

Итак, с моим листом, установленным на ручной расчет, яМожно скопировать UDF вниз для всех записей, но как мне структурировать макрос для планирования вычислений на 2 в секунду (я хочу быть консервативным, чтобы он не «падал»)?

Заранее спасибо.

1 Ответ

2 голосов
/ 12 июля 2011

Вы можете использовать OnTime для планирования вашего макроса:

Public RunWhen As Double
Public Const cRunIntervalSeconds = 120 ' two minutes
Public Const cRunWhat = "TheSub"  ' the name of the procedure to run

Sub StartTimer()
    RunWhen = Now + TimeSerial(0,0,cRunIntervalSeconds)
    Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _
        Schedule:=True
End Sub

Sub TheSub()
    ''''''''''''''''''''''''
    ' Your code here
    ''''''''''''''''''''''''
    StartTimer  ' Reschedule the procedure
End Sub

Sub StopTimer()
    On Error Resume Next
    Application.OnTime EarliestTime:=RunWhen,Procedure:=cRunWhat, _
        Schedule:=False
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...