Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2013, 07:22   #11
Mmo
 
Регистрация: 06.04.2013
Сообщений: 8
По умолчанию

doober, шаманство, но работает ))) Спасибо большущее!
Mmo вне форума Ответить с цитированием
Старый 08.04.2013, 15:04   #12
Mmo
 
Регистрация: 06.04.2013
Сообщений: 8
По умолчанию

doober, только на 64x системе ругается. Там из какой библиотеки надо Sleep брать, не в курсе? А то я пока просто через большой цикл перегрузил - ещё большее шаманство ))
Mmo вне форума Ответить с цитированием
Старый 08.04.2013, 15:44   #13
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Пункт 1

Использование для остановки работы макроса API-функции "Sleep".

Код не тестировал, т.к. у меня нет компьютера с "Windows 64". Информацию взял в интернете.
Код:
#If Win64 Then
    'Если "Windows 64", то нужно добавить после слова "Declare"
        'слово "PtrSafe". А тип данных "Long" заменить на "LongLong".
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongLong)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
    
'Какая-нибудь процедура
    '(В "VBA" программный код в некоторых случаях называется "процедура").
Sub Procedure_1()
    
    Call Sleep(1000)
    
End Sub
Примечание
  1. Конструкция "#If ... Then ... #Else ... #End If" называется "Условная компиляция". Это означает, что какая-то часть кода вообще не будет рассматриваться компилятором, хоть эта часть кода и записана в коде.
  2. Компиляция - это первод кода из текстового вида, который мы видим на мониторе в программе "VBA", в другой вид, который понятен компьютеру.
  3. Компилятор - это программа, которая делает компиляцию. Где эта программа находится в программе "VBA", я не знаю.
  4. Условная компиляция - слово "условная" означает, что присутствует условие. В программирование условие связано с конструкцией "If ... Then ... End If".

Пункт 2

Использование для приостановки работы макроса Excel-метода "Wait".

Код:
Sub Procedure_1()
    
    'Функция "DateAdd" добавляет или убавляет от одной даты другую дату.
        'Interval:="s" - означает секунды.
        'Number:=1 - 1 секунда.
        'Now - текущие дата и время.
    Application.Wait Time:=DateAdd(Interval:="s", Number:=1, Date:=Now)

End Sub

Последний раз редактировалось Скрипт; 09.04.2013 в 07:12.
Скрипт вне форума Ответить с цитированием
Старый 09.04.2013, 00:40   #14
Mmo
 
Регистрация: 06.04.2013
Сообщений: 8
По умолчанию

Спасибо. Выяснить бы ещё всё-таки почему оно останавливается...
Mmo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вернуть имя предыдущего месяца? valerij Microsoft Office Excel 7 14.03.2013 12:21
как не ждать окончания процедуры(функции)? Кольша Общие вопросы Delphi 14 02.02.2012 16:49
Bass.dll событие после окончания воспроизведения. ZBEP Мультимедиа в Delphi 4 30.01.2011 04:06
Кем я могу работать после окончания учебы помимо как прогрммистом Kobe Помощь студентам 7 13.09.2010 03:44
Как узнать какой трек сейчас играет.. NBSTUDIO Мультимедиа в Delphi 2 01.10.2009 22:11