Самоучитель VBA

       

Создание заставки приложения


При создании приложений довольно часто принято перед началом его работы создавать заставки с пояснительным текстом: какие функции выполняет приложение, кто является его автором.

Рис. У14.3. Пример заставки приложения

При многократном использовании приложения появление подобной заставки может начать действовать на пользователя, как красная тряпка на быка, поэтому, чтобы не злоупотреблять терпением и временем пользователя в подобных случаях, необходимо предусмотреть режим отказа от вывода заставки при активизации документа. Естественно, программа должна хранить где-то информацию о режиме работы: с заставкой или без нее. Эту и подобную информацию об установках режимов работы приложения обычно хранят в создаваемых дополнительно ini-файлах.

Рассмотрим простейший пример создания заставки приложения (рис. У14.3).

На стандартном листе модуля наберите приведенную ниже процедуру, которая позволит запустить диалоговое окно заставки. В области описания переменных уровня модуля описывается пользовательский тип, используемый при записи информации о режиме работы приложения в файл Файл.INI.

'

' Переменные уровня приложения '

Туре ФАЙЛ_INI

Информация As String * 30 Код As Boolean

End Type '

Public Заставка As ФАЙЛ_INI



'

Sub ПоказатьЗаставку() '

With UserForml

.Picture = LoadPicture("c:\my_doc\book_ex\bhv.bmp")

.PictureAlignment = fmPictureAlignmentCenter

.PictureSizeMode = fmPictureSizeModeZoom

.Caption = "Пример заставки"

.BorderColor = vbBlue

.BorderStyle = fmBorderStyleSingle

.CheckBoxl.BackColor = vbWhite .Show

End With

'

End Sub

На листе модуля UserForm1 наберите следующую процедуру, которая при закрытии заставки позволит считать из флажка не отображать выбранный пользователем режим работы для следующего открытия приложения.

Private Sub UserFormJIerminate()

Open "Файл.INI" For Random As #1

Len = Len(Заставка)

With Заставка

.Информация = "Отображать заставку:"

If CheckBoxl.Value = False Then .Код = False

End If

If CheckBoxl.Value = True Then .Код = True

End If End With

Put #1, 1, Заставка Close #1

End Sub

На листе модуля ThisWorkbook наберите следующую процедуру, которая при открытии рабочей книги в зависимости от указанного в файле Файл.INI режима либо будет отображать заставку, либо нет.

Private Sub Workbook_Open()

Open "Файл.INI"

For Random As #1

Len = Len(Заставка)

Get #1, 1, Заставка

Close #1

If Заставка.Код = False Then ПоказатьЗаставку

End Sub



Содержание раздела