Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA книга2.doc
Скачиваний:
30
Добавлен:
19.11.2018
Размер:
3.67 Mб
Скачать

Задание для самостоятельной работы 2.1 Windows Script Host в приложениях vba

Подготовка:

откройте Word и создайте новый документ (обычным, не программным способом). Откройте проект этого документа и создайте в нем новую процедуру с именем WSH().

Задание:

Добавьте в проект этого документа ссылку на библиотеку Windows Script Host Object Model;

В процедуре WSH() создайте программные объекты WScript.Network и WScript.Shell и просмотрите свойства и методы этих объектов;

Добавьте в процедуру WSH() код, который бы:

принимал в текстовые переменные и печатал в документе Word значения свойств ComputerName, UserName и UserDomain объекта WScript.Network;

Примечание.

Код для вывода текстовой переменной в Word может выглядеть так:

ThisDocument.Activate

Selection.TypeText моя_текстовая_переменная

вызывал метод Run() объекта WScript.Shell и передавал ему единственный текстовый параметр со значением " calc";

использовал свойство Environment объекта WScript.Shell для создания коллекции текстовых переменных с информацией о переменных окружения;

печатал в документе Word все значения текстовых переменных в из этой коллекции.

Примечание.

Для переменных, которые вы будете использовать для создаваемой коллекции и ее элементов, следует использовать тип Variant.

Решение:

Итоговый код процедуры WSH() может быть таким:

Public Sub WSH()

Dim oNetwork As WshNetwork

Dim oShell As WshShell

Dim sComputer As String

Dim sDomain As String

Dim sUser As String

Dim oColl As Variant

Dim sEnv As Variant

'Создаем объекты

Set oNetwork = CreateObject("WScript.Network")

Set oShell = CreateObject("Wscript.Shell")

'Получаем и печатаем значения свойств объекта Wscript . Network

sComputer = oNetwork.ComputerName

sDomain = oNetwork.UserDomain

sUser = oNetwork.UserName

ThisDocument.Activate

Selection.TypeText sComputer & vbCrLf & sDomain & vbCrLf & sUser & vbCrLf & vbCrLf

'Вызываем метод Run объекта Wscript.Shell

oShell Run "Calc"

'Получаем коллекцию переменных окружения

Set oColl = oShell.Environment

'И выводим каждый элемент этой коллекции

For Each sEnv In oColl

Selection.TypeText sEnv & vbCrLf

Next

'Правило хорошего тона — удаляем созданные объекты из памяти

Set oNetwork = Nothing

Set oShell = Nothing

End Sub

3. Формы, элементы управления и события

3.1 Для чего нужны формы

Формы в приложениях VBA, применение форм

С самыми простыми возможностями организации взаимодействия с пользователем (применение встроенных функций MsgBox() и InputBox()) мы уже познакомились. Однако, конечно же, возможностей этих функций хватает не всегда. В этой главе речь пойдет о том, как создать графический интерфейс своего приложения, используя формы и элементы управления VBA.

Чаще всего для предоставления пользователю графического интерфейса используются формы VBA. В принципе, многие элементы управления можно вставлять непосредственно на страницу документа (для этого используются панели инструментов Формы и Элементы управления), однако классический способ — применение формы. Вне зависимости от того, используется форма или элементы управления размещаются напрямую в документе, набор элементов управления и приемы работы с ними одинаковы.

Как выглядит применение форм в приложении VBA?

Как правило, форма запускается при открытии пользователем документа. Пользователь выполняет на форме какие-то действия по вводу/выбору информации (например, выбирает значения в ниспадающем списке, устанавливает значения для флажков и переключателей и т.п.), а потом (обычно) нажимает на кнопку на этой форме — и введенная им информация передается в базу данных, отправляется по электронной почте, записывается в файл для распечатки и т.п.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]