Формы как пользовательские окна диалога
Пользовательское окно диалога – это форма, содержащая элементы управления, включая командные кнопки, переключатели и текстовые поля, которая обеспечивает пользователю ввод информации, требуемой для работы приложения. Установкой значений свойств можно настраивать вид и поведение окна диалога. Манипулировать пользовательскими окнами диалога можно в период выполнения через программный код.
Создание пользовательского окна диалога. Для создания пользовательского окна диалога можно открыть новую форму или настроить существующее окно диалога. По мере разработки новых окон диалога будет накапливаться коллекция окон диалога, которые можно использовать в разных приложениях. Чтобы настроить существующее окно диалога, надо выполнить следующую последовательность действий:
1. Выполнить команду Project/Add Form/Вкладка Existing, в открывшемся окне Add Form добавить существующую форму к проекту.
2. Выполнить команду File/Save <Имя файла> As и ввести новое имя файла. (Это предохранит от изменений существующую версию формы).
3. При необходимости настроить вид и компоновку формы.
4. В окне редактора кода настроить процедуры обработки событий формы и элементов управления.
Для создания нового окна диалога надо выполнить следующие действия:
1. Выполнить команду Project/Add Form/Вкладка New, в открывшемся окне добавить к проекту новую форму.
2. Настроить компоновку новой формы и ввести элементы управления.
3. Добавить код к процедурам событий формы и элементов управления.
Окно может быть фиксированным или перемещаемым, режимным или нережимным.
Режимное окно диалога должно быть закрыто (скрыто или выгружено) прежде чем можно будет продолжить работу в приложении. Нережимные окна диалога позволяют перемещать фокус от окна диалога к другой форме, не закрывая это окно диалога. В то время, как окно диалога открыто, можно продолжать работать в другом месте приложения.
Открытие пользовательского окна диалога. Вывести окно диалога на экран можно так же, как и любую другую форму в приложении. Форма запуска загружается автоматически при запуске приложения. Открытие второй формы или окна диалога выполняет соответствующий код, который загружает и выводит форму или окно на экран. Если требуется удалить форму или окно диалога, то выполняется код, который их выгружает или скрывает форму или окно.
Задачи, решаемые при выводе формы на экран и определяющие способы вывода формы на экран, и средства решения этих задач:
Задача | Способ реализации |
Загрузить форму в память, но не выводить ее на экран | Использовать оператор Load или просто обратиться к свойству или элементу управления в форме |
Загрузить и открыть форму как нережимную | Использовать метод Show |
Загрузить и открыть форму как режимную | Использовать метод Show со стилем vbModal |
Вывести на экран загруженную форму | Установить свойство Visible в True или использовать метод Show |
Скрыть форму | Установить свойство Visible в False или использовать метод Hide |
Скрыть форму и выгрузить ее из памяти | Использовать оператор Unload |
Редактор кода
Для создания программных кодов используется редактор кода, окно которого открывается одной из команд:
- Выполнить команду View / Code.
- Из контекстного меню выполнить команду View Code.
Для каждого модуля создается отдельное окно кода, разделенное внутри на секции. Выбор секции осуществляется с помощью списка Object, расположенного слева в верхней части окна.
Для стандартного модуля этот список содержит общую секцию General. В модуле класса в этот список включены: общая секция и секция классов.
В модуле формы список Object содержит общую секцию, секцию для формы (Form), а также секции для всех размещённых на форме объектов. Для каждой выбранной секции можно создать процедуру, выбрав ее из списка Procedure в правом верхнем углу окна редактора кода, содержащего события. Для элемента списка General из списка Object есть только одно значение Declarations (Объявления) в списке Procedure.
Приложение 2
ПРИМЕРЫ МАКРОСОВ ДЛЯ ПРИЛОЖЕНИЙ MICROSOFT OFICE[1]
1. Конвертирование документа Word в текстовый файл (*.txt)
Код открывает Word в памяти компьютера и производит конвертирование документа.
Перед работой в Reference... поставьте ссылку на Microsoft Word Object Library.
Private Sub Command1_Click()
Dim temp AsString
temp = "путь & имя.doc"
IfNot Dir(temp, vbNormal) <> "" Then
MsgBox "Документ не найден."
Exit Sub
End If
OnError GoTo Notloaded
Set MyWord = GetObject (, "Word.Application")
Notloaded:
IfErr.Number = 429 Then
Set MyWord = CreateObject("Word.Application")
ElseIf Err.Number <> 0 Then
Screen.MousePointer = vbDefault
'Пользователь нажал на кнопку Cancel
MyWord.Documents.Close SaveChanges:= wdDoNotSaveChanges
Set MyWord = Nothing
Screen.MousePointer = 0
If Not Err.Number = 32755 Then
MsgBox Err.Description & vbCrLf & "error "
End If
Err.Clear
Exit Sub
End If
MyWord.Documents.Open FileName:=temp
MyWord.ActiveDocument.SaveAs FileName:="name.txt", _
FileFormat:=wdFormatText, LockComments:=False, _
Password:="", AddToRecentFiles:=True, WritePassword:="",_
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
End Sub