VBA для тех кто любит думать


VBA и Office XP - часть 100


Подобные ситуации встречаются в этой Справочной системе нередко - вот почему для начального обучения программированию на Visual Basic for Applications я рекомендую использовать именно Microsoft Office 97, несмотря на то, что эта версия офисного пакета считается несколько устаревшей.)

Какое же условие должно быть у нас? Наверное, подсчет количества открытых документов - если не 0, то продолжать работу, а если 0, то остановиться. А как можно подсчитать количество открытых документов? Посмотрим, нет ли в Visual Basic for Applications команды для такого подсчета? Напишем в тексте программы: "Documents", поставим точку и просмотрим выпавший список (рис. 5.35).

 

05_35.bmp

Рис. 5.35. Как же подсчитать открытые документы? Есть ли что-нибудь, что может пригодиться?

 

Так и есть - в списке имеется метод "Count": скорее всего, это функция подсчета. Выберем ее из списка и посмотрим по ней справку и пример - да, эта команда считает открытые документы. То есть условие должно выглядеть как "If Documents.Count > 0 Then … ". Ну, а инструкции - переход к метке - нами уже написаны.

Часть команды "Else …" можно опустить, а просто написать нужные инструкции после команды "If..." - ведь все равно к их выполнению программа не перейдет до тех пор, пока останутся открытые документы. А поместить там, наверное, стоит вызов сообщения, желательно со звуковым сигналом, - чтобы можно было поставить документы на обработку и отойти. Используем функцию MsgBox (о ее синтаксисе подробно написано в Справочной системе по VBA, в русской версии Microsoft Office 97 - даже по-русски):

 

signal = MsgBox("Обработка закончена", vbInformation, "Обработка текстов")

 

Ну, вот и все. Итак, наша программа теперь выглядит так:

 

Sub Макрос1()

'

' Макрос1 Макрос

' Макрос записан 13.01.02

'

metka:

Selection.WholeStory

With Selection.Font

.Name = "Times New Roman"

.Size = 12

.ColorIndex = wdBlack




Начало  Назад  Вперед