Шаг 226.
VBA в MSExcel. Практические приемы программирования на VBA. Тема: работа с файлами. Практика (создание заставки приложения)

    На этом шаге мы рассмотрим сновные моменты создания приложения с заставкой.

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

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

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


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

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

' Переменные уровня приложения
Type ФАЙЛ_INI
  Информация As String * 30
  Код As Boolean
End Type

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

Sub ПоказатьЗаставку()
  With UserForm1
    .Picture = LoadPicture("j:\site\Works\pr226_1\miit.bmp")
    .PictureAlignment = fmPictureAlignmentCenter
    .PictureSizeMode = fmPictureSizeModeZoom
    .Caption = "Пример заставки"
    .BorderColor = vbBlue
    .BorderStyle = fmBorderStyleSingle
    .CheckBox1.BackColor = vbWhite
    .Show
  End With
End Sub

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

Private Sub UserForm_Terminate()
  Open "j:\site\Works\pr226_1\Файл.INI" For Random As #1 Len = Len(Заставка)

  With Заставка
    .Информация = "Отображать заставку:"
    If CheckBox1.Value = False Then
      .Код = False
    End If

    If CheckBox1.Value = True Then
      .Код = True
    End If
  End With

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

End Sub

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

Private Sub Workbook_Open()
  Open "j:\site\Works\pr226_1\Файл.INI" For Random As #1 Len = Len(Заставка)
  Get #1, 1, Заставка
  Close #1
  If Заставка.Код = False Then ПоказатьЗаставку
End Sub
Текст этого примера можно взять здесь.

    Со следующего шага мы начнем рассматривать создание более сложных приложений.




Предыдущий шаг Содержание Следующий шаг