Windows Script Host в приложениях VBA




Подготовка:

Откройте Word и создайте новый документ (обычным, не программным способом). Затем нажмите клавиши <A1t>+<F11>, чтобы открыть редактор Visual Basic, в окне Project Explorer щелкните правой кнопкой мыши по контейнеру вашего документа (он должен называться Project (Документ1)) и в контекстном меню выберите Insert | Module. Будет создан новый стандартный модуль. При помощи меню Insert | Procedure создайте в нем новую процедуру с именем wsh().

ЗАДАНИЕ:

1. Добавьте при помощи меню Tools | References в проект этого документа ссылку на библиотеку Windows Script Host Object Model.

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

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

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

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

ThisDocument.Activate

Selection.TypeText Text:=(текстовая_переменная)

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

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

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

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

Ответ к заданию 4

Итоговый код процедуры 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 Text:=(sComputer & vbCrLf & sDomain & vbCrLf &_

sUser & vbCrLf & vbCrLf)

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

Wscript.Shell oShell.Run "Calc"

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

Set oColl = oShell.Environment

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

For Each sEnv In oColl

Selection.TypeText Text:=(sEnv s vbCrLf)

Next

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

Set oNetwork = Nothing

Set oShell = Nothing

End Sub

 

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

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

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

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

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

5.2. Создание форм



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: