Формы как пользовательские окна диалога

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

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

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