MyTetra Share
Делитесь знаниями!
Объекты в макросах VBA в Excel, работа с объектами Wscript.Network и Wscript.Shell
Время создания: 31.10.2020 22:28
Текстовые метки: WshNetwork, Wscript.Network, Wscript.Shell
Раздел: !Закладки - VBA - sharepoint
Запись: xintrea/mytetra_db_adgaver_new/master/base/16041725110722r7qhjz/text.html на raw.githubusercontent.com

Объекты в макросах VBA в Excel, работа с объектами Wscript.Network и Wscript.Shell


Задание:

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

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

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

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

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

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

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

Примечание

Для переменных, которые вы будете использовать для создаваемой коллекции и ее элементов, следует использовать тип 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

    MsgBox sComputer & vbCrLF & sDomain & vbCrLF & sUser

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

    oShell.Run "Calc"

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

    Set oColl = oShell.Environment

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

    For Each sEnv In oColl

        MsgBox sEnv

    Next

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

    Set oNetwork = Nothing

    Set oShell = Nothing

End Sub

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования