Как сделать, чтобы макрос запускался автоматически

Программирование на Visual Basic for Applications
alltut
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 05.10.2003 (Вс) 13:08

Как сделать, чтобы макрос запускался автоматически

Сообщение alltut » 05.10.2003 (Вс) 13:14

Есть такая прога


Sub qqq()


If MsgBox("Перерыв - Отдохните", vbOKCancel) = vbOK Then



Application.OnTime Now + TimeValue("00:00:01"), "qqq"
End If


Application.OnTime Now + TimeValue("00:00:01"), "qqq"

End Sub

Как сделать его, так, чтобы он автоматически запускался при открытии MS Word :?:

amda
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 134
Зарегистрирован: 11.09.2002 (Ср) 15:14
Откуда: Russia, Волгоградская обл., г. Волжский

Сообщение amda » 06.10.2003 (Пн) 10:10

открываешь в ворде Normal.dot (обычно находится в каталоге "Шаблоны"). Открываешь в редакторе VBA модуль для ThisDocument и создаёшь процедуру
Код: Выделить всё
Private Sub Document_New()
Call qqq
End Sub


Так процедура будет запускаться каждый раз, когда будешь создавать новый файл в ворде. Чтоб такого не было, можно объявить булеву глобальную переменную, в которой будешь отмечать первое открытие. А потом перед запуском своей процедурой проверяй ту переменную
Организм человека содержит столько извести, что ее хватит на побелку курятника. (Hенужная информация)

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 06.10.2003 (Пн) 11:14

Можно и без Call, зачем его в VB использовать :)

Если следущие событийные процедуры вставить в Normal то:

это будет запускатся при каждом созданном новом документе :(
Код: Выделить всё
Private Sub Document_New()
qqq
End Sub


это будет запускатся при каждом новом открытом документе :(
Код: Выделить всё
Private Sub Document_Open()
qqq
End Sub


нужно имя макросу дать особенное, какое я сейчас не помню, найду, напишу

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 06.10.2003 (Пн) 12:06

Надо макрос назвать Main. Но в 2000 офисе у меня почемуто не получилось, если не получится, пиши в Normal :
Код: Выделить всё
Private flag as boolean

Private Sub Document_New()
if flag = false then
qqq
flag = true
end if
End Sub


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

    TopList