Загрузка инсталлированной надстройки



Свойство Addins объекта Application возвращает семейство инсталлированных надстроек. Например, в коде листинга 5.2 функция LoadAddin проверяет, установлена ли специфицированная надстройка (в данном случае Solver Addin ). Эта функция возвращает значение:

r 0, если надстройка загружена;

r 1, если надстройка инсталлирована, но загрузить ее пришлось при помощи данной функции;

r -1, надстройка не найдена;

r -2, произошла ошибка при работе функции.

Напомним, что надстройку можно инсталлировать, выбрав команду Сервис►Надстройки .

Листинг 5.2. Проверка, установлена ли специфицированная надстройка

Function LoadAddin(AddlnTitle) As Integer

Dim ads As Addln

On Error GoTo ErrorHandler

For Each ads In Application.Addins

If ads.Title = AddlnTitle Then

LoadAddin = 0

If Not ads.Installed Then

Addins(AddlnTitle).Installed = True

LoadAddin = 1

End If

Exit Function

End If

Next

LoadAddln = -1

Exit Function ErrorHandler:

LoadAddln = -2

End Function

Sub TestO

MsgBox LoadAddln("Solver AddIn")

End Sub

Управление уровнем безопасности

Свойство AutomationSecurity объекта Application позволяет управлять уровнембезопасности при открытии рабочей книги. Это свойство возвращает одну изследующих MsoAutomationSecurity констант:

r msoAutomationSecurityBy UI — используется уровень безопасности, специфицированный диалоговым окном, отображаемым при открытии рабочей книги;

r msoAutomationSecurityForceDisabie — отключает без предупреждаю­щего сообщения все макросы в открываемых рабочих книгах;

r msoAutomationSecurityLow — все макросы включены.

Процедура из листинга 5.3 позволяет, используя диалоговое окно Open, открыть рабочую книгу с автоматическим отключением макросов. Для вызова диалогового окна Open применено свойство FileDialog объекта Application.

Листинг 5.3. Открытие рабочей книги с автоматическим отключением i макросов

Sub OpenWithMacrosOff()

Dim secAutomation As MsoAutomationSecurity

secAutomation = Application.AutomationSecurity

Application.AutomationSecurity = msoAutomationSecurityForceDisable

Application.FileDialog(msoFileDialogOpen).Show

Dim fn As String

fn = Application.FileDialog(msoFileDialogFilePicker).Selectedltems(1)

Application.Workbooks.Open fn

Application.AutomationSecurity = secAutomation

End Sub


Рабочая книга, в которой выполняется данный макрос

Свойство ThisWorkbook объекта Application возвращает рабочую книгу, содержащую выполняющийся в данный момент макрос. Это свойство может возвращать рабочую книгу, отличную от книги, возвращаемой свойством ActiveWorkbook, т. к. выполняемый макрос может находиться в неактивной книге.

Установка заголовка окна MS Excel

Свойство caption объекта Application возвращает или устанавливает текст в заголовке главного окна MS Excel. Задание значения свойства равным Empty возвращает заголовок, используемый по умолчанию. В следующем коде (листинг 5.4) из модуля ЭтаКнига первая процедура обрабатывает событие Open рабочей книги и устанавливает в качестве заголовка окна приложения текст "Отчет за 2005 год", а вторая обрабатывает событие BeforeClose рабочей книги и возвращает окну имя, используемое по умолчанию, т. е. " Microsoft Excel ".

Private Sub Workbook_Open()

Application.Caption = "Отчет за 2005 год"

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.Caption = Empty

End Sub

Работа со строкой состояния

Свойство StatusBar объекта Application задает текст, отображаемый в строке состояния приложения. Если значение этого свойства равно False, то отображается текст, заданный по умолчанию. В следующем примере конструируется бегущая строка состояния (листинг 5.5). Эффект бега создается постепенным изменением количества пробелов, размещенных перед отображаемым текстом. Метод Wait объекта Application обеспечивает задержку выполнения приложения на указанный промежуток времени, в данном случае — секунду.


Дата добавления: 2019-02-12; просмотров: 140; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!