Select Case blnUpUpAndAway.Show
Case msoBalloonButtonOK
(код, выполняемый после щелчка на кнопке ОК)
Case msoBalloonButtonCancel
(код, выполняемый после щелчка на кнопке Cancel )
Case 2
(код, выполняемый после щелчка на кнопке со другой надписью]
End Select
Как видно из двух первых инструкций Case, библиотека объектов Office содержит именованные константы, которые соответствуют значениям каждого типа "обычных" кнопок (т. е. кнопок, которые отображаются в нижней части окна Помощника). Вы можете использовать эти константы для определения того, на какой именно из кнопок щелкнул пользователь.
Для определения щелчка на кнопке просто используйте номер подписи к кнопке, как показано на примере третьей инструкции Case.
Для считывания сведений о текущем состоянии флажков в окне Помощника используйте свойство Checked каждого из них после закрытия окна пользователем. В самом простейшем случае вы можете использовать последовательность операторов If ... Then, по одному оператору для каждого флажка, как показано ниже:
With blnUpUpAway
If .Checkboxes(1).Checked Then
(код, выполняемы в том случае, если флажок 1 установлен )
Else
(код, выполняемы в том случае, если флажок не 1 установлен)
End If If .Checkboxes(2).Checked Then
(код, выполняемы в том случае, если флажок 2 установлен )
Else
(код, выполняемы в том случае, если флажок 2 не установлен )
End If
End With
Вы можете использовать свойство Callback объекта Balloon для определения процедуры, которая будет обрабатывать щелчки на кнопках. Этот прием оказывается особенно полезным при использовании немодальных объектов balloon, которые остаются на экране до тех пор, пока пользователь не щелкнет на кнопке.
Сохранение значений переменных на диске
В программировании очень часто возникают ситуации, когда необходимо сохранить значения переменных во время выполнения программы. Например, давайте рассмотрим простейший случай: использование переменной-счетчика. Предположим, вам необходимо знать, сколько раз пользователь щелкнул на определенной кнопке одной из панелей инструментов Excel на протяжении месяца. Если вы только не хотите держать программу Excel постоянно запущенной на протяжении целого месяца, вам необходимо сохранять текущее значение переменной-счетчика при закрытии программы и считывать его при последующем запуске Excel.
Среди всех приложений Office только Word предоставляет вам инструменты для хранения подобных переменных (с помощью объекта Variable ). Однако с подобной задачей по силам справиться и многим другим приемам.
Сохранение и получение значений переменных в Excel, PowerPoint и Project
Пользовательские свойства документов предоставляют широкое поле для деятельности при написании программ для большинства приложений Office. Вы можете использовать VBA для создания пользовательских свойств документов, заполнения их данными, а также получения этих данных при первой необходимости. Раз подобные свойства стали неотъемлемой частью документа, с которым они связаны, вам не придется беспокоиться о сохранении свойств в отдельном файле - они автоматически сохраняются вместе с документом.
Для создания нового свойства документа в Excel, PowerPoint или Project (в Word тоже при необходимости можно воспользоваться подобным методом) выберите метод Add из коллекции свойств CustomDocuraent Properties этого документа. Приведенный ниже пример срабатывает в Excel, где объект ActiveWorkbook означает активную рабочую книгу во время выполнения процедуры (в Word и PowerPoint это объекты ActiveDocument и Active Presentation соответственно):
ActiveWorkbook.CustomDocumentProperties.Add_
Name:= "Button Count", Li nkToCont ent:=False,_
Type:= msoPropertyTypeNumber, Value:=0
Параметр LinkToContent должен иметь значение False, если вы сохраняете значение переменной в виде пользовательского свойства документа (вам следует присвоить этому параметру значение True, если вы хотите, чтобы значение свойства было связано с содержимым ячейки Excel или закладкой Word). Параметр Туре определяет тип данных для свойства; в качестве значения допустимо использование таких констант, как msoPropertyTypeNumber, msoPropertyTypeBoolean, msoPropertyTypeDate, msoPropertyTypeFloat или msoPropertyTypeString.
Для сохранения или получения информации, хранящейся в виде свойства документа, используется свойство Value объекта Property. Предположим, что вы используете такое свойство документа, как ButtonCount, для сохранения количества щелчков мышью на кнопке одной из форм программы. Приведенный ниже фрагмент кода считывает и обновляет значение свойства после каждого щелчка на кнопке:
With ActiveWorkbook._
CustomDocument Properties("ButtonCount")
.Value = .Value + 1
End With
Приведенный ниже пример иллюстрирует выполнение небольшой практической задачи. В этом случае