Какой самый правильный способ реализовать паузу?
От: Аноним  
Дата: 15.02.10 17:46
Оценка:
Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.

Зарание спасибо!
Re: Какой самый правильный способ реализовать паузу?
От: ZAMUNDA Земля для жалоб и предложений
Дата: 15.02.10 17:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу.

Excel.Application.Wait
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Re[2]: Какой самый правильный способ реализовать паузу?
От: Аноним  
Дата: 15.02.10 18:14
Оценка:
ZAM>Excel.Application.Wait

Не, я не это имел ввиду. Wait надо указывать точное время, когда возобновить работу, а я хотел добавить в цикл что-то типа sleep(100), чтобы каждый раз пробегая цикл макрос на 100 милисекунд делал паузу и отдавал процессорное время другим приложениям

Какие еще варианты?
Re: Какой самый правильный способ реализовать паузу?
От: bnk СССР http://unmanagedvisio.com/
Дата: 15.02.10 18:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.


Sleep/Wait IMHO тебе не поможет.
То есть, не поможет, если ты хочешь "паузу" в цикле для того, чтобы пользовательский интерфейс не зависал.

Может все же DoEvents?
Re[3]: Какой самый правильный способ реализовать паузу?
От: ZAMUNDA Земля для жалоб и предложений
Дата: 16.02.10 11:23
Оценка:
Здравствуйте, Аноним, Вы писали:

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: Какой самый правильный способ реализовать паузу?
От: Mishka Норвегия  
Дата: 24.02.10 15:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть макрос в Экселе. Отлично работает. Единственная проблема — работает он весьма долго, а поскольку у процессора ядро одно, то он нагружает его на 100%. Вопрос: какую команду добавить в цикл макроса, чтобы он делал паузу. Подключать API, чтобы использовать sleep совсем не хочется.


DoEvents
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.