Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.
Зарание спасибо!
Re: Какой самый правильный способ реализовать паузу?
Здравствуйте, Аноним, Вы писали:
А>Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу.
Excel.Application.Wait
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[2]: Какой самый правильный способ реализовать паузу?
От:
Аноним
Дата:
15.02.10 18:14
Оценка:
ZAM>Excel.Application.Wait
Не, я не это имел ввиду. Wait надо указывать точное время, когда возобновить работу, а я хотел добавить в цикл что-то типа sleep(100), чтобы каждый раз пробегая цикл макрос на 100 милисекунд делал паузу и отдавал процессорное время другим приложениям
Какие еще варианты?
Re: Какой самый правильный способ реализовать паузу?
Здравствуйте, Аноним, Вы писали:
А>Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.
Sleep/Wait IMHO тебе не поможет.
То есть, не поможет, если ты хочешь "паузу" в цикле для того, чтобы пользовательский интерфейс не зависал.
Может все же DoEvents?
Re[3]: Какой самый правильный способ реализовать паузу?
Здравствуйте, Аноним, Вы писали:
ZAM>>Excel.Application.Wait
А>Не, я не это имел ввиду. Wait надо указывать точное время, когда возобновить работу, а я хотел добавить в цикл что-то типа sleep(100), чтобы каждый раз пробегая цикл макрос на 100 милисекунд делал паузу и отдавал процессорное время другим приложениям
А Help ты в пост не читаешь? :)
If Application.Wait(Now + TimeSerial(0, 0, 10)) Then
MsgBox"Time expired"End If
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re: Какой самый правильный способ реализовать паузу?
Здравствуйте, Аноним, Вы писали:
А>Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.