Cвойства и методы объектов Windows Script Host - WSH

Объект Shell

Создание объекта

Пример:

'создаётся объект типа "IShellDispatch":
Set objShellApp = CreateObject("Shell.Application")

ВНИМАНИЕ!

Не все объекты, их свойства и методы будут работать на всех версиях Windows. Подробности - см. MSDN (часто проще проверить работоспособность кода экспериментально). Устанавливайте обновления для Internet Explorer. Некоторые методы доступны или имеют смысл только в контексте HTML-документа.

Примечание:

При использовании свойств и методов объекта Shell, возвращающих агрегатные объекты, в VBScript желательно всегда обрабатывать исключения и проверять полученный объект на существование (сравнивать с Nothing). Объект типа "IShellDispatch" возвращается также в таких случаях:

Пример №1:

Set objShellApp = CreateObject("Shell.Application")
Set objISD = objShellApp.Application

Пример №2:

Set objShellApp = CreateObject("Shell.Application")
Set objISD = objShellApp.Parent

Пример №3:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objISD = objFolder.Application

Пример №4:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItems = objFolder.Items()
Set objISD = objFolderItems.Application

Пример №5:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.Self
Set objISD = objFolderItem.Application

Свойства

Application

Синтаксис:

Application

Возвращаемое значение:

Объект "IShellDispatch".

Замечание:

Только чтение.

Пример(Windows XP):

Set objShellApp = CreateObject("Shell.Application")
If objShellApp.Application.GetSetting(1) = 0 Then
     MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Не показывать скрытые файлы и папки""!", vbInformation
Else
     MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Показывать скрытые файлы и папки""!", vbInformation
End If

Parent

Синтаксис:

Parent

Возвращаемое значение:

Объект "IShellDispatch".

Замечание:

Только чтение.

Пример(Windows XP):

Set objShellApp = CreateObject("Shell.Application")
If objShellApp.Parent.GetSetting(1) = 0 Then
     MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Не показывать скрытые файлы и папки""!", vbInformation
Else
     MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Показывать скрытые файлы и папки""!", vbInformation
End If

Методы

MinimizeAll

Синтаксис:

MinimizeAll

Назначение:

Сворачивание всех окон рабочего стола Windows. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Показать рабочий стол" ("Minimize All Windows") контекстного меню панели задач Windows или щелчок по значку "Свернуть все окна" ("Show Desktop") на панели "Быстрый запуск" ("Quick Launch") панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll

UndoMinimizeAll

Синтаксис:

UndoMinimizeAll

Назначение:

Восстановление всех свёрнутых окон рабочего стола Windows. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Отменить Свернуть все" ("Undo Minimize All Windows") контекстного меню панели задач Windows или повторный щелчок по значку "Свернуть все окна" ("Show Desktop") на панели "Быстрый запуск" ("Quick Launch") панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
WScript.Sleep 300
objShellApp.UndoMinimizeAll

TileHorizontally

Синтаксис:

TileHorizontally

Назначение:

Упорядочение окон рабочего стола Windows по горизонтали. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Окна сверху вниз" ("Tile Windows Horizontally") контекстного меню панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.TileHorizontally

TileVertically

Синтаксис:

TileVertically

Назначение:

Упорядочение окон рабочего стола Windows по вертикали. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Окна слева направо" ("Tile Windows Vertically") контекстного меню панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.TileVertically

CascadeWindows

Синтаксис:

CascadeWindows

Назначение:

Расположение всех несвёрнутых окон рабочего стола Windows каскадом. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Окна каскадом" ("Cascade Windows") контекстного меню панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.CascadeWindows

Explore

Синтаксис:

Explore(<Path>)

Назначение:

Запуск проводника Windows с определённой открытой папкой. Возвращаемого значения нет.

Параметры:

<Path> - путь к открываемой папке. Тип - строка.

Описание:

<Path> может быть числом, определяющим одну из специальных папок Windows. Коды папок - см. описание метода "NameSpace".

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.Explore("C:\")
objShellApp.Open("C:\") 'для сравнения

Open

Синтаксис:

Open(<Path>)

Назначение:

Запуск проводника Windows с определённой открытой папкой. Возвращаемого значения нет.

Параметры:

<Path> - путь к открываемой папке. Тип - строка.

Описание:

<Path> может быть числом, определяющим одну из специальных папок Windows. Коды папок - см. описание метода "NameSpace".

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open("C:\")
objShellApp.Explore("C:\") 'для сравнения

NameSpace

Синтаксис:

NameSpace(<Path>)

Назначение:

Получение объекта виртуальной папки проводника. Возвращает объект "Folder".

Параметры:

<Path> - путь к папке или диску. Тип - строка.

Описание:

<Path> может быть числом, определяющим одну из специальных папок Windows.

Пример №1:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Title, vbInformation

Пример №2:

'Вывод путей и заголовков всех возможных специальных папок.

On Error Resume Next
Set List = CreateObject("Scripting.Dictionary")
List.Add &H1d, "ssfALTSTARTUP"
List.Add &H1a, "ssfAPPDATA"
List.Add &Ha, "ssfBITBUCKET"
List.Add &H1e, "ssfCOMMONALTSTARTUP"
List.Add &H23, "ssfCOMMONAPPDATA"
List.Add &H19, "ssfCOMMONDESKTOPDIR"
List.Add &H1f, "ssfCOMMONFAVORITES"
List.Add &H17, "ssfCOMMONPROGRAMS"
List.Add &H16, "ssfCOMMONSTARTMENU"
List.Add &H18, "ssfCOMMONSTARTUP"
List.Add &H3, "ssfCONTROLS"
List.Add &H21, "ssfCOOKIES"
List.Add &H0, "ssfDESKTOP"
List.Add &H10, "ssfDESKTOPDIRECTORY"
List.Add &H11, "ssfDRIVES"
List.Add &H6, "ssfFAVORITES"
List.Add &H14, "ssfFONTS"
List.Add &H22, "ssfHISTORY"
List.Add &H20, "ssfINTERNETCACHE"
List.Add &H1c, "ssfLOCALAPPDATA"
List.Add &H27, "ssfMYPICTURES"
List.Add &H13, "ssfNETHOOD"
List.Add &H12, "ssfNETWORK"
List.Add &H5, "ssfPERSONAL"
List.Add &H4, "ssfPRINTERS"
List.Add &H1b, "ssfPRINTHOOD"
List.Add &H28, "ssfPROFILE"
List.Add &H26, "ssfPROGRAMFILES"
List.Add &H2, "ssfPROGRAMS"
List.Add &H8, "ssfRECENT"
List.Add &H9, "ssfSENDTO"
List.Add &Hb, "ssfSTARTMENU"
List.Add &H7, "ssfSTARTUP"
List.Add &H25, "ssfSYSTEM"
List.Add &H15, "ssfTEMPLATES"
List.Add &H24, "ssfWINDOWS"

Set objShellApp = CreateObject("Shell.Application")
ResStr = vbNullString
For Each It In List
     Set objFolder = objShellApp.NameSpace(It)
     AddStr = List.Item(It) & " (" & objFolder.Self.Path & ") " & objFolder.Title
     If Err.Number <> 0 Then
          AddStr = List.Item(It) & " Папка не найдена"
          Err.Clear
     End If
     ResStr = ResStr & AddStr & vbCrLf
Next
ShowInNotepad(ResStr)

'Процедура отображает переданную строку в блокноте
Sub ShowInNotepad(StrToFile)
     Set FSO = CreateObject("Scripting.FileSystemObject")
     TempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") & "\" & FSO.GetTempName
     Set TxtFile = FSO.CreateTextFile(TempPath)
     TxtFile.WriteLine(StrToFile)
     TxtFile.Close
     CreateObject("WScript.Shell").Run "notepad.exe " & TempPath
     'WScript.Sleep 1000 'Ожидание, чтобы блокнот запустился
     'FSO.DeleteFile(TempPath)
End Sub

FileRun

Синтаксис:

FileRun

Назначение:

Вызов окна "Запуск программы" ("Run"). Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Выполнить" ("Start"-"Run").

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.FileRun

FindComputer

Синтаксис:

FindComputer

Назначение:

Вызов окна проводника Windows "Результаты поиска - компьютеры" ("Search Results - Computers"). Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindComputer

FindFiles

Синтаксис:

FindFiles

Назначение:

Вызов окна проводника Windows "Результаты поиска" ("Find: All Files"). Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Поиск" ("Start"-"Find").

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindFiles

FindPrinter

Синтаксис:

FindPrinter(<Name>,<Location>,<Model>)

Назначение:

Вызов окна "Поиск принтеров" ("Find Printers") в Active Directory с предварительным заполнением параметров поиска. Возвращаемого значения нет.

Параметры:

<Name> - необязательный. Строка - имя принтера.
<Location> - необязательный. Строка - местоположение принтера.
<Model> - необязательный. Строка - модель принтера.

Описание:

Вызов метода приводит примерно к тому же эффекту, что и команда меню "Пуск"-"Поиск"-"Принтеры..." ("Start"-"Search"-"For Printers...") в Windows 2000.

Пример (Windows 2000 Server):

Set objShellApp = CreateObject("Shell.Application")
objShellApp.FindPrinter "Name", "Location", "Model"

Help

Синтаксис:

Help

Назначение:

Вызов справки Windows. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Справка и поддержка" ("Start"-"Help and Support").

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.Help

ShutdownWindows

Синтаксис:

ShutdownWindows

Назначение:

Вызов окна выключения и перезагрузки компьютера. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда меню "Пуск"-"Завершение работы" ("Start"-"Shut Down").

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShutdownWindows

SetTime

Синтаксис:

SetTime

Назначение:

Вызов окна настройки времени и даты. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и двойной щелчок по часам в правой части панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.SetTime

TrayProperties

Синтаксис:

TrayProperties

Назначение:

Вызов окна свойств панели задач Windows. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Вызов метода приводит к тому же эффекту, что и команда "Свойства" ("Properties") контекстного меню панели задач Windows.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.TrayProperties

ControlPanelItem

Синтаксис:

ControlPanelItem(<ИмяФайла>)

Назначение:

Вызов конкретного приложения панели управления. Возвращаемого значения нет.

Параметры:

<ИмяФайла> - имя файла конкретного приложения панели управления. Тип - строка. Пустая строка вызывает саму панель управления.

Описание:

Все файлы приложений панели управления имеют расширение .cpl.
Некоторые приложения панели управления:
access.cpl - специальные возможности.
appwiz.cpl - установка и удаление программ.
desk.cpl - настройка экрана.
hdwwiz.cpl - мастер установки оборудования.
inetcpl.cpl - свойства обозревателя.
intl.cpl - язык и региональные стандарты.
joy.cpl - игровые устройства.
main.cpl - мышь.
mmsys.cpl - звуки и аудиоустройства.
ncpa.cpl - сетевые подключения.
nusrmgr.cpl - учётные записи пользователей.
odbccp32.cpl - настройка источников данных ODBC.
powercfg.cpl - управление электропитанием.
sysdm.cpl - свойства системы.
telephon.cpl - телефон и модем.
timedate.cpl - настройки времени и даты.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.ControlPanelItem "desk.cpl"
objShellApp.ControlPanelItem ""

BrowseForFolder

Синтаксис:

BrowseForFolder(<Hwnd>,<Заголовок>,<Опции>,<КорневаяПапка>)

Назначение:

Вызов модального окна "Выбор папки". Возвращает объект "Folder".

Параметры:

<Hwnd> - дескриптор родительского окна. Тип - целое число. 0 - текущее окно.
<Заголовок> - пояснение для пользователя в окне "Выбор папки". Тип - строка.
<Опции> - целое число (комбинация битовых флагов). Например, флаг 512 - запретить кнопку "Создать папку", 1 - не отображать Корзину, 16 - отображать EditBox для ввода полного пути с клавиатуры и т.п. Подробнее - см. MSDN.
<КорневаяПапка> - необязательный параметр. Корневая папка в окне "Выбор папки". Тип - строка. Пользователь не сможет пройти в окне "Выбор папки" выше этой папки. Если параметр не указан, корневой папкой будет рабочий стол Windows.

Описание:

Без комментариев.

Пример:

On Error Resume Next
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.BrowseForFolder(0, "Выбор папки", 0, "C:\")
MsgBox objFolder.Self.Path, vbInformation
If Err.Number <> 0 Then
     MsgBox "Папка не выбрана!", vbInformation
End If

Windows

Синтаксис:

Windows

Назначение:

Получение объекта "ShellWindows". Возвращает объект "ShellWindows".

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
WinCol = objShellApp.Windows().Count
MsgBox "В настоящий момент открыто окон Проводника - " & WinCol, vbInformation

CanStartStopService

Синтаксис:

CanStartStopService(<ServiceName>)

Назначение:

Определяет, может ли текущий пользователь запустить/остановить указанный сервис. Возвращаемое значение - булево (число).

Параметры:

<ServiceName> - строка, имя сервиса.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
ServiceName = "haspnt"
If Not objShellApp.CanStartStopService(ServiceName) Then
     MsgBox "Вы НЕ можете остановить/запустить сервис " & ServiceName & "!", vbInformation
Else
     MsgBox "Вы можете остановить/запустить сервис " & ServiceName & "!", vbInformation
End If

IsServiceRunning

Синтаксис:

IsServiceRunning(<ServiceName>)

Назначение:

Определяет, запущен ли указанный сервис. Возвращаемое значение - булево (число).

Параметры:

<ServiceName> - строка, имя сервиса.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
ServiceName = "haspnt"
If objShellApp.IsServiceRunning(ServiceName) Then
     MsgBox "Сервис " & ServiceName & " запущен!", vbInformation
Else
     MsgBox "Сервис " & ServiceName & " НЕ запущен!", vbInformation
End If

ServiceStart

Синтаксис:

ServiceStart(<ServiceName>,<Persistent>)

Назначение:

Запускает указанный сервис. Возвращаемое значение - булево (число) - определяет, успешно ли завершена операция.

Параметры:

<ServiceName> - строка, имя сервиса.
<Persistent> - булево (число). Определяет, что сервис должен автоматически стартовать при старте системы. Если указана ложь, конфигурация сервиса не меняется.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Serv = "haspnt"
If objShellApp.ServiceStart(Serv, false) = 0 Then
    MsgBox "НЕ удалось запустить сервис " & Serv & "!", vbInformation
Else
    MsgBox "Сервис " & Serv & " успешно запущен!", vbInformation
End If

ServiceStop

Синтаксис:

ServiceStop(<ServiceName>,<Persistent>)

Назначение:

Останавливает указанный сервис. Возвращаемое значение - булево (число) - определяет, успешно ли завершена операция.

Параметры:

<ServiceName> - строка, имя сервиса.
<Persistent> - булево (число). Определяет, что сервис должен автоматически стартовать при старте системы. Если указана ложь, конфигурация сервиса не меняется.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Serv = "haspnt"
If objShellApp.ServiceStop(Serv, false) = 0 Then
    MsgBox "НЕ удалось остановить сервис " & Serv & "!", vbInformation
Else
    MsgBox "Сервис " & Serv & " успешно остановлен!", vbInformation
End If

GetSystemInformation

Синтаксис:

GetSystemInformation(<Name>)

Назначение:

Возвращает некоторую системную информацию (возвращаемое значение - число).

Параметры:

<Name> - строка, определяет тип информации.

Описание:

Подробнее - см. MSDN.

Пример:

Set objShellApp = CreateObject("Shell.Application")
MsgBox "DirectoryServiceAvailable = " & objShellApp.GetSystemInformation("DirectoryServiceAvailable")
MsgBox "ProcessorLevel = " & objShellApp.GetSystemInformation("ProcessorLevel")
MsgBox "ProcessorArchitecture = " & objShellApp.GetSystemInformation("ProcessorArchitecture")
MsgBox "PhysicalMemoryInstalled = " & objShellApp.GetSystemInformation("PhysicalMemoryInstalled")'в байтах

IsRestricted

Синтаксис:

IsRestricted(<Group>,<Restriction>)

Назначение:

Возвращает значение заданного ограничения по данным реестра (возвращаемое значение - число).

Параметры:

<Group> - строка, наименование группы (ключа) в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ policies.
<Restriction> - строка, наименование параметра в указанной группе реестра, значение которого надо вернуть.

Описание:

Если параметр не найден в реестре, возвращается 0. Подробнее - см. MSDN.

Пример:

Set objShellApp = CreateObject("Shell.Application")
MsgBox objShellApp.IsRestricted("system", "dontdisplaylastusername")

ShellExecute

Синтаксис:

ShellExecute(<File>,<Arguments>,<Directory>,<Operation>,<Show>)

Назначение:

Выполняет указанное действие над указанным файлом. Возвращаемого значения нет.

Параметры:

<File> - строка. Имя файла.
<Arguments> - строка (необязательный). Параметры для <Operation>.
<Directory> - строка (необязательный). Путь к каталогу с указанным файлом. Если не указан, используется текущий каталог.
<Operation> - строка (необязательный). Действие ("глагол"), которое необходимо выполнить. Если не указан, используется действие по умолчанию.
<Show> - число (необязательный). Рекомендуемое состояние окна при выполнении. Запускаемое приложение может проигнорировать этот параметр. Возможные значения:
0 - скрытое окно.
1 - нормальное окно.
2 - минимизированное окно.
3 - максимизированное окно.
4 - запустить приложение с окном в том состоянии, в котором оно было последний раз. Текущее активное окно останется активным.
5 - запустить приложение с окном в текущем состоянии.
7 - минимизированное окно. Текущее активное окно останется активным.
10 - состояние окна по умолчанию для приложения.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute "autoexec.bat", "", "C:\", "edit", 1

ShowBrowserBar

Синтаксис:

ShowBrowserBar(<CLSID>,<Show>)

Назначение:

Открывает или закрывает указанную панель обозревателя. Возвращает true в случае успеха, и false в случае неудачи.

Параметры:

<CLSID> - строка. Идентификатор класса (CLSID) панели обозревателя. Некоторые возможные значения:
Favorites - {EFA24E61-B078-11d0-89E4-00C04FC9E26E}
Folders - {EFA24E64-B078-11d0-89E4-00C04FC9E26E}
History - {EFA24E62-B078-11d0-89E4-00C04FC9E26E}
Search - {30D02401-6A81-11d0-8274-00C04FD5AE38}
<Show> - булево. True - показать, false - спрятать панель.

Описание:

Метод доступен только в контексте HTML-документа.

Пример (HTML):

<script language="VBScript">
    function fnShowBrowserBarVB()
        set objShell = CreateObject("Shell.Application")
        bReturn = objShell.ShowBrowserBar("{EFA24E61-B078-11d0-89E4-00C04FC9E26E}", true)
        set objShell = nothing
    end function
</script>

AddToRecent

Синтаксис:

AddToRecent(<File>,<Category>)

Назначение:

Помещает ярлык на указанный файл в папку "Недавних документов" ("Recent") текущего пользователя. Возвращаемого значения нет.

Параметры:

<File> - строка. Путь к файлу.
<Category> - строка (необязательный). Имя категории, в которую помещается файл.

Описание:

Без комментариев.

Пример (WindowsXP):

Set objShellApp = CreateObject("Shell.Application")
objShellApp.AddToRecent "C:\MyFile.txt"

ExplorerPolicy

Синтаксис:

ExplorerPolicy(<PolicyName>)

Назначение:

Возвращает значение указанной Internet Explorer policy.

Параметры:

<PolicyName> - строка. Имя Internet Explorer policy.

Описание:

WindowsXP и выше.

GetSetting

Синтаксис:

GetSetting(<Setting>)

Назначение:

Возвращает значение указанной глобальной установки (параметра) проводника.

Параметры:

<Setting> - целое число (набор флагов), определяющее глобальную установку (параметр) проводника. Некоторые возможные значения (подробнее - см. MSDN):
1 - Показывать скрытые файлы и папки.
2 - Скрывать расширения для зарегистрированных типов файлов.

Описание:

Без комментариев.

Пример (WindowsXP):

Set objShellApp = CreateObject("Shell.Application")
If Not objShellApp.GetSetting(2) Then
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Скрывать расширения для зарегистрированных типов файлов""!", vbInformation
Else
    MsgBox "В ""Свойствах папки"" в проводнике снят режим ""Скрывать расширения для зарегистрированных типов файлов""!", vbInformation
End If

ToggleDesktop

Синтаксис:

ToggleDesktop

Назначение:

Сворачивает или разворачивает все окна на рабочем столе. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Имитирует нажатие на значок "Свернуть все окна" в панели "Быстрый запуск" ("Quick launch").

Пример (WindowsXP):

Set objShellApp = CreateObject("Shell.Application")
objShellApp.ToggleDesktop

WindowsSecurity

Синтаксис:

WindowsSecurity

Назначение:

Имитирует нажатие CTRL+ALT+DELETE при использовании соединения Microsoft Terminal Server. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

WindowsXP и выше.

Объект Folder

Создание объекта

Объект виртуальной папки проводника.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")

Другой пример:

On Error Resume Next
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.BrowseForFolder(0, "Выбор папки", 0, "C:\")
MsgBox objFolder.Self.Path, vbInformation
If Err.Number <> 0 Then
     MsgBox "Папка не выбрана!", vbInformation
End If

Свойства

Title

Синтаксис:

Title

Возвращаемое значение:

Строка - заголовок папки с соблюдением регистра букв. Конструкция:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\windows")
MsgBox objFolder.Title, vbInformation

выведет строку "WINDOWS".
Конструкция:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Title, vbInformation

выведет строку "Локальный диск (C:)".

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Title, vbInformation

Self

Синтаксис:

Self

Возвращаемое значение:

Объект FolderItem, соответствующий текущей папке. Аналогично вызову ".Items().Item()".

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Self.Path, vbInformation
MsgBox objFolder.Items().Item().Path, vbInformation

ParentFolder

Синтаксис:

ParentFolder

Возвращаемое значение:

Объект "Folder" родительской папки.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.ParentFolder.Title, vbInformation
MsgBox objFolder.ParentFolder.ParentFolder.Title, vbInformation

Application

Синтаксис:

Application

Возвращаемое значение:

Объект "IShellDispatch".

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
If objFolder.Application.GetSetting(1)=0 Then
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Не показывать скрытые файлы и папки""!", vbInformation
Else
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Показывать скрытые файлы и папки""!", vbInformation
End If

OfflineStatus

Синтаксис:

OfflineStatus

Возвращаемое значение:

Offline status текущей папки. Тип - целое число.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("\\server\share\folder")
MsgBox objFolder.Self.Path & " статус - " & objFolder.OfflineStatus
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Self.Path & " статус - " & objFolder.OfflineStatus

NewFolder

Синтаксис:

NewFolder(<Имя>,<Опции>)

Назначение:

Создание новой папки внутри текущей. Возвращаемого значения нет.

Параметры:

<Имя> - имя создаваемой папки. Тип - строка.
<Опции> - необязательный. В настоящее время не используется.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
objFolder.NewFolder("Моя новая папка")

CopyHere

Синтаксис:

CopyHere(<Путь>,<Опции>)

Назначение:

Копирование файла или папки вовнутрь текущей папки. Возвращаемого значения нет.

Параметры:

<Путь> - полный путь к копируемому файлу или папке (строка) или объект FolderItem.
<Опции> - необязательный. Опции копирования - число (комбинация битовых флагов). Некоторые флаги (подробнее см. MSDN):
4 - Не показывать окно с прогресс-баром.
8 - Дать копируемому файлу новое имя, если файл с таким именем уже существует.
16 - Отвечать автоматически "Yes to All" в любом отображаемом диалоге.
256 - Отображать окно с прогресс-баром, но не показывать имена файлов.
4096 - Производить операции только в локальной папке. Не производить операции рекурсивно в подпапках.
9182 - Не копировать связанные файлы (например, html-файлы с их папками) как группу. Копировать только указанные файлы.

Описание:

Копируемый файл или папка может находиться внутри текущей папки. Вызов метода приводит к тому же эффекту, что и перетаскивание файлов в проводнике.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\WINDOWS")
objFolder.CopyHere("C:\AUTOEXEC.BAT")

MoveHere

Синтаксис:

MoveHere(<Путь>,<Опции>)

Назначение:

Перенос файла или папки вовнутрь текущей папки. Возвращаемого значения нет.

Параметры:

Полностью аналогично методу "CopyHere". См. описание метода "CopyHere".

Описание:

Полностью аналогично методу "CopyHere". См. описание метода "CopyHere".

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\WINDOWS")
objFolder.MoveHere("C:\AUTOEXEC.BAT")

Items

Синтаксис:

Items

Назначение:

Получение объекта FolderItems. Возвращает объект FolderItems.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objItems = objFolder.Items()
TotalCount = objItems.Count
MsgBox "В папке """ & objFolder.Title & """ элементов всего - " & TotalCount, vbInformation

ParseName

Синтаксис:

ParseName(<Имя>)

Назначение:

Получение объекта FolderItem, соответствующего элементу текущей папки. Возвращает объект FolderItem.

Параметры:

<Имя> - Имя получаемого элемента папки. Тип - строка.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objItem = objFolder.ParseName("Program Files")
MsgBox objItem.Path, vbInformation

GetDetailsOf

Синтаксис:

GetDetailsOf(<Элемент>,<Парам>)

Назначение:

Получение информации об элементе текущей папки. Возвращает строку.

Параметры:

<Элемент> - объект FolderItem, соответствующий элементу текущей папки.
<Парам> - целое число, определяющее тип информации. Возможные значения:
0 - Имя элемента.
1 - Размер элемента (только для файлов).
2 - Тип элемента.
3 - Дата и время последней модификации.
4 - Дата и время создания.
-1 - Тип элемента, дата и время последней модификации и размер элемента (только для файлов).

Описание:

Возвращается информация, похожая на ту, что можно увидеть в окне свойств файла (папки) в проводнике.

Пример:

Set objShellApp = CreateObject("Shell.Application")

Set objFolder = objShellApp.NameSpace("C:\Program Files")
Set objItem = objFolder.Self
strResult = vbNullString
strResult = strResult & "Информация об объекте """ & objItem.Path & """:" & vbCrLf
For i=-1 To 4
    strResult = strResult & i & " - " & objFolder.GetDetailsOf(objItem, i) & vbCrLf
Next
MsgBox strResult, vbInformation

Set objFolder = objShellApp.NameSpace("C:\")
Set objItem = objFolder.ParseName("AUTOEXEC.BAT")
strResult = vbNullString
strResult = strResult & "Информация об объекте """ & objItem.Path & """:" & vbCrLf
For i=-1 To 4
    strResult = strResult & i & " - " & objFolder.GetDetailsOf(objItem, i) & vbCrLf
Next
MsgBox strResult, vbInformation

DismissedWebViewBarricade

Синтаксис:

DismissedWebViewBarricade

Назначение:

см. MSDN. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\WINDOWS")
objFolder.DismissedWebViewBarricade

Synchronize

Синтаксис:

Synchronize

Назначение:

Синхронизирует все offline-файлы. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("\\server\share\folder")
objFolder.Synchronize

Объект FolderItems

Создание объекта

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objItems = objFolder.Items()

Свойства

Application

Синтаксис:

Application

Возвращаемое значение:

Объект "IShellDispatch".

Замечание:

Только чтение.

Пример (Windows XP):

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objItems = objFolder.Items()
Set objShellDispatch = objItems.Application
If objShellDispatch.GetSetting(1)=0 Then
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Не показывать скрытые файлы и папки""!"
Else
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Показывать скрытые файлы и папки""!"
End If

Count

Синтаксис:

Count

Возвращаемое значение:

Число. Количество элементов коллекции - элементов папки.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objItems = objFolder.Items()
Count = objItems.Count
MsgBox "В папке """ & objFolder.Self.Path & """ количество элементов - " & Count

Verbs

Синтаксис:

Verbs

Возвращаемое значение:

Объект FolderItemVerbs. Коллекция действий ("глаголов"), относящихся ко всем элементам папки.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFIV = objFolder.Items().Verbs
MsgBox "Действий всего - " & objFIV.Count, vbInformation

Методы

Item

Синтаксис:

Item(<Индекс>)

Назначение:

Получение объекта FolderItem. Возвращает объект FolderItem.

Параметры:

<Индекс> - необязательный. Индекс в коллекции элементов папки (отсчёт - с нуля). Если параметр опущен, возвращает объект FolderItem, соответствующий самой папке.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Items().Item().Path, vbInformation

InvokeVerbEx

Синтаксис:

InvokeVerbEx(<Verb>,<Args>)

Назначение:

Выполнить действие операционной системы ("глагол") над всеми элементами папки (не рекурсивно). Возвращаемого значения нет.

Параметры:

<Verb> - необязательный. Строка - наименование действия, которое нужно выполнить. Если не указан, выполняется действие по умолчанию.
<Args> - необязательный. Строка - аргументы действия, указанного в первом параметре.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
'Попытка открыть все элементы окна "Мой компьютер"
objFolder.ParentFolder.Items().InvokeVerbEx()
'Попытка открыть все папки в корне диска C:\
objFolder.Items().InvokeVerbEx("explore")

Filter

Синтаксис:

Filter(<Flags>,<Filter>)

Назначение:

Устанавливает для элементов папки фильтр с использованием групповых символов. Возвращаемого значения нет.

Параметры:

<Flags> - набор флагов фильтрации. Некоторые значения (подробнее - см. MSDN):
32 - учитывать папки.
64 - учитывать не папки.
128 - учитывать скрытые элементы.
<Filter> - строка фильтра.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItems = objFolder.Items()
MsgBox "На диске С:\ элементов - " & objFolderItems.Count, vbInformation
objFolderItems.Filter 32+64+128, "*"
MsgBox "На диске С:\ элементов всего (со скрытыми) - " & objFolderItems.Count
objFolderItems.Filter 64+128, "*.sys"
MsgBox "На диске С:\ sys-файлов всего (со скрытыми) - " & objFolderItems.Count
'Такая конструкция скорее всего откроет единственную папку "Program Files".
objFolderItems.Filter 32, "*Files*"
objFolderItems.InvokeVerbEx "explore"

Создание объекта

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
MsgBox objFolder.Self.Path, vbInformation
MsgBox objFolder.Items().Item().Path, vbInformation

Свойства

Application

Синтаксис:

Application

Возвращаемое значение:

Объект "IShellDispatch".

Замечание:

Только чтение.

Пример (Windows XP):

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
If objFolderItem.Application.GetSetting(1)=0 Then
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Не показывать скрытые файлы и папки""!"
Else
    MsgBox "В ""Свойствах папки"" в проводнике установлен режим ""Показывать скрытые файлы и папки""!"
End If

GetFolder

Синтаксис:

GetFolder

Возвращаемое значение:

Если текущий элемент папки (объект "FolderItem") сам является папкой, возвращается объект "Folder", соответствующий этой папке.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("Program Files")
Set objFolder2=objFolderItem.GetFolder
MsgBox objFolder2.Self.Path

GetLink

Синтаксис:

GetLink

Возвращаемое значение:

Если текущий элемент папки (объект "FolderItem") является ярлыком, возвращается объект "ShellLinkObject", соответствующий этому ярлыку.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("FileName.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.WorkingDirectory

IsBrowsable

Синтаксис:

IsBrowsable

Возвращаемое значение:

Булево (число). Подробнее - см. MSDN.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\Windows").Self
MsgBox objFolderItem.IsBrowsable
Set objFolderItem = objShellApp.NameSpace("http://small.h12.ru").Self
MsgBox objFolderItem.IsBrowsable

IsFileSystem

Синтаксис:

IsFileSystem

Возвращаемое значение:

Булево (число). Определяет, является ли элемент членом файловой системы.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
MsgBox "Папка """ & objFolderItem.Name & """ является членом файловой системы = " & objFolderItem.IsFileSystem
Set objFolderItem = objShellApp.NameSpace("C:\").ParentFolder.Self
MsgBox "Папка """ & objFolderItem.Name & """ является членом файловой системы = " & objFolderItem.IsFileSystem
Set objFolderItem = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder.Self
MsgBox "Папка """ & objFolderItem.Name & """ является членом файловой системы = " & objFolderItem.IsFileSystem

IsFolder

Синтаксис:

IsFolder

Возвращаемое значение:

Булево (число). Определяет, является ли элемент папкой.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
MsgBox "Объект """ & objFolderItem.Name & """ является папкой = " & objFolderItem.IsFolder
Set objFolderItem = objShellApp.NameSpace("C:\").ParentFolder.Self
MsgBox "Объект """ & objFolderItem.Name & """ является папкой = " & objFolderItem.IsFolder

IsLink

Синтаксис:

IsLink

Возвращаемое значение:

Булево (число). Определяет, является ли элемент ярлыком.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("МойЯрлык.lnk")
MsgBox "Объект """ & objFolderItem.Name & """ является ярлыком = " & objFolderItem.IsLink

ModifyDate

Синтаксис:

ModifyDate

Возвращаемое значение:

Строка. Содержит дату и время последней модификации объекта.

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\Windows")
Set objFolderItem = objFolder.ParseName("Notepad.exe")
MsgBox objFolderItem.ModifyDate
objFolderItem.ModifyDate = "20.10.05 6:05:00 PM"
Set objFolderItem = objFolder.ParseName("Notepad.exe")
MsgBox objFolderItem.ModifyDate

Name

Синтаксис:

Name

Возвращаемое значение:

Строка. Содержит имя объекта.

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("Autoexec.bat")
MsgBox objFolderItem.Name
objFolderItem.Name = "TEST.BAT"
MsgBox objFolderItem.Name

Parent

Синтаксис:

Parent

Возвращаемое значение:

Объект "Folder" родительской папки.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
MsgBox objFolderItem.Parent.Self.Name

Path

Синтаксис:

Path

Возвращаемое значение:

Строка - полный путь объекта.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("AUTOEXEC.BAT")
MsgBox objFolderItem.Path

Size

Синтаксис:

Size

Возвращаемое значение:

Целое число - размер объекта в байтах.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\Windows")
Set objFolderItem = objFolder.ParseName("notepad.exe")
MsgBox objFolderItem.Size

Type

Синтаксис:

Type

Возвращаемое значение:

Строковое представление типа объекта. Возвращается информация, похожая на ту, что можно увидеть в окне свойств файла (папки) в проводнике.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("autoexec.bat")
MsgBox objFolderItem.Type

Методы

InvokeVerb

Синтаксис:

InvokeVerb(<Действие>)

Назначение:

Исполняет указанное действие ("глагол") над элементом. Возвращаемого значения нет.

Параметры:

<Действие> - необязательный. Строка - наименование действия. Если не указан, используется действие по умолчанию.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
objFolderItem.InvokeVerb 'open
objFolderItem.InvokeVerb "explore"

InvokeVerbEx

Синтаксис:

InvokeVerbEx(<Verb>,<Args>)

Назначение:

Выполнить действие операционной системы ("глагол") над элементом. Возвращаемого значения нет.

Параметры:

<Verb> - необязательный. Строка - наименование действия, которое нужно выполнить. Если не указан, выполняется действие по умолчанию.
<Args> - необязательный. Строка - аргументы действия, указанного в первом параметре.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
objFolderItem.InvokeVerbEx "explore"

Verbs

Синтаксис:

Verbs

Назначение:

Возвращает объект "FolderItemVerbs", содержащий перечень возможных действий ("глаголов") для элемента.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIV = objFolderItem.Verbs
MsgBox "Действий всего - " & objFIV.Count

ExtendedProperty

Синтаксис:

ExtendedProperty(<PropName>)

Назначение:

Возвращает строку, содержащую значение указанного дополнительного свойства элемента.

Параметры:

<PropName> - строка. Имя свойства.

Описание:

Может быть актуально, например, для документов Microsoft Office, которые обладают дополнительными свойствами.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFolderItem = objFolder.ParseName("МойДокумент.doc")
MsgBox objFolderItem.ExtendedProperty("DocTitle")
MsgBox objFolderItem.ExtendedProperty("DocAuthor")

Объект ShellWindows

Создание объекта

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objShellWindows = objShellApp.Windows()

Count

Синтаксис:

Count

Возвращаемое значение:

Число. Количество элементов коллекции.

Замечание:

Только чтение. Возвращает количество открытых окон Internet Explorer и Проводника.

Пример (Windows XP):

Set objShellApp = CreateObject("Shell.Application")
Wins = objShellApp.Windows().Count
MsgBox "В настоящий момент открыто окон Проводника - " & Wins

Методы

Item

Синтаксис:

Item(<Индекс>)

Назначение:

Получение объекта WebBrowser. Возвращает объект WebBrowser.

Параметры:

<Индекс> - необязательный. Индекс в коллекции окон (отсчёт - с нуля). По умолчанию - 0.

Описание:

Метод возвращает объект того же типа, что и оператор CreateObject("InternetExplorer.Application") или CreateObject("Shell.Explorer").

Пример:

'Закрытие всех окон Explorer'а
Set objShellApp = CreateObject("Shell.Application")
Set objShellWin = objShellApp.Windows
MsgBox "Окон Explorer'а всего - " & objShellWin.Count
For i=0 To objShellWin.Count-1
    objShellWin.Item(i).Quit
Next

Объект ShellLinkObject

Создание объекта

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink

 

Свойства

Arguments

Синтаксис:

Arguments

Возвращаемое значение:

Строка. Параметры командной строки в поле "Объект" ("Target").

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO=objFolderItem.GetLink
MsgBox objSLO.Arguments
objSLO.Arguments = """C:\WINDOWS\Пузыри.bmp"""
objSLO.Save
MsgBox objSLO.Arguments

Description

Синтаксис:

Description

Возвращаемое значение:

Строка. Описание в поле "Комментарий" ("Comment").

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.Description
objSLO.Description = "Просто ярлычок"
objSLO.Save
MsgBox objSLO.Description

Hotkey

Синтаксис:

Hotkey

Возвращаемое значение:

Целое число. Назначенная ярлыку горячая клавиша в поле "Быстрый вызов" ("Shortcut key").

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.Hotkey
objSLO.Hotkey = Asc("Q")+1536 'Ctrl+Alt+Q (в "Asc" здесь будут правильно работать заглавные лат. буквы и цифры)
objSLO.Save
MsgBox objSLO.Hotkey

Path

Синтаксис:

Path

Возвращаемое значение:

Строка. Путь к исполняемому файлу в поле "Объект" ("Target").

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO=objFolderItem.GetLink
MsgBox objSLO.Path
objSLO.Path = "%SystemRoot%\System32\mspaint.exe" 'без дополнительных кавычек!
objSLO.Save
MsgBox objSLO.Path

ShowCommand

Синтаксис:

ShowCommand

Возвращаемое значение:

Целое число. Тип окна в поле "Окно" ("Run").

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.ShowCommand
'objSLO.ShowCommand=1 'normal window
objSLO.ShowCommand=7 'minimized window
'objSLO.ShowCommand=3 'maximized window
objSLO.Save
MsgBox objSLO.ShowCommand

WorkingDirectory

Синтаксис:

WorkingDirectory

Возвращаемое значение:

Строка. Путь к рабочему каталогу в поле "Рабочая папка".

Замечание:

Чтение и запись.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder=objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.WorkingDirectory
objSLO.WorkingDirectory = "C:\"
objSLO.Save
MsgBox objSLO.WorkingDirectory

Target

Синтаксис:

Target

Возвращаемое значение:

Объект "FolderItem", соответствующий объекту, на который ссылается ярлык.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.Target.Size

Методы

GetIconLocation

Синтаксис:

GetIconLocation(<Path>)

Назначение:

Возвращает индекс иконки ярлыка в файле, указанном в Path (целое число).

Параметры:

<Path> - полный путь к файлу, который содержит иконку ярлыка.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO=objFolderItem.GetLink
MsgBox "Индекс иконки - " & objSLO.GetIconLocation("%SystemRoot%\System32\mspaint.exe")

Resolve

Синтаксис:

Resolve(<Flags>)

Назначение:

Пытается найти объект, на который ссылается ярлык, если этот объект был перемещён или переименован. Возвращаемого значения нет.

Параметры:

<Flags> - комбинация флагов, параметры восстановления. Подробнее - см. MSDN.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
MsgBox objSLO.Path
objSLO.Path = "%SystemRoot%\System32\m_s_p_a_i_n_t.exe"
objSLO.Save
MsgBox objSLO.Path
objSLO.Resolve(1)
objSLO.Save
MsgBox objSLO.Path

Save

Синтаксис:

Save(<File>)

Назначение:

Сохраняет все произведённые изменения ярлыка. Возвращаемого значения нет.

Параметры:

<File> - строка (необязательный). Полный путь к файлу ярлыка. Если не указан, сохраняется текущий объект.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
objSLO.Save objFolder.Self.Path & "\_Paint.lnk" 'копирование ярлыка

SetIconLocation

Синтаксис:

SetIconLocation(<Path>,<Index>)

Назначение:

Устанавливает новую иконку для ярлыка. Возвращаемого значения нет.

Параметры:

<Path> - строка. Полный путь к файлу, содержащему иконку.
<Index> - целое число. Индекс иконки в файле.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\").ParentFolder.ParentFolder 'рабочий стол
Set objFolderItem = objFolder.ParseName("Paint.lnk")
Set objSLO = objFolderItem.GetLink
objSLO.SetIconLocation "C:\WINDOWS\notepad.exe", 0
objSLO.Save

Объект FolderItemVerbs

Создание объекта

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()

Другой пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.NameSpace("C:\")
Set objFIVs = objFolder.Items().Verbs

Свойства

Count

Синтаксис:

Count

Возвращаемое значение:

Число. Количество действий ("глаголов") в коллекции.

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()
MsgBox objFIVs.Count
Set objFolder = objShellApp.NameSpace("C:\")
Set objFIVs = objFolder.Items().Verbs
MsgBox objFIVs.Count

Методы

Item

Синтаксис:

Item(<Index>)

Назначение:

Возвращает объект "FolderItemVerb".

Параметры:

<Index> - порядковый номер. Отсчёт начинается с нуля.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject ("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()
For i=0 To objFIVs.Count - 1
    MsgBox objFIVs.Item(i).Name
Next

Создание объекта

Пример:

Set objShellApp = CreateObject ("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()
For i=0 To objFIVs.Count - 1
    Set objFIV = objFIVs.Item(i)
Next

Свойства

Name

Синтаксис:

Name

Возвращаемое значение:

Строка. Имя действия ("глагола").

Замечание:

Только чтение.

Пример:

Set objShellApp = CreateObject ("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()
Set objFIV = objFIVs.Item(0)
MsgBox objFIV.Name

Методы

DoIt

Синтаксис:

DoIt

Назначение:

Исполняет действие. Возвращаемого значения нет.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set objShellApp = CreateObject ("Shell.Application")
Set objFolderItem = objShellApp.NameSpace("C:\").Self
Set objFIVs = objFolderItem.Verbs()
For i=0 To objFIVs.Count - 1
    Set objFIV = objFIVs.Item(i)
    If objFIV.Name = "&Открыть" Then
        objFIV.DoIt
        Exit For
    End If
Next

Объект RegExp

Создание объекта

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")

Возможности регулярных выражений:

1. Сравнить текст с заданным шаблоном. Например, введённый пользователем телефонный номер должен соответствовать шаблону "8(***)***-***-**", где * - любая цифра, но не буква.
2. Заменить или удалить из введённой пользователем строки текст, соответствующий заданному шаблону.
3. Извлечь из введённой пользователем строки текст, соответствующий заданному шаблону.
Регулярное выражение - это образец текста, который состоит из обычных символов и/или специальных метасимволов.

Свойства

Global

Синтаксис:

Global

Возвращаемое значение:

Число (булево). False - проверять до первого соответствия, True - проверять по всему тексту. По умолчанию - False.

Замечание:

Чтение и запись.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "abc"
TempStr = "abc 123 abc"
MsgBox TempStr 'исходная строка
Result = objRegExp.Replace(TempStr, "def")
MsgBox Result
objRegExp.Global = True
Result = objRegExp.Replace(TempStr, "def")
MsgBox Result

IgnoreCase

Синтаксис:

IgnoreCase

Возвращаемое значение:

Число (булево). False - учитывать регистр символов, True - игнорировать регистр символов. По умолчанию - False.

Замечание:

Чтение и запись.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "АБВ"
Str = "абв 123"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res
objRegExp.IgnoreCase = True
Res = objRegExp.Replace(Str, "где")
MsgBox Res

Pattern

Синтаксис:

Pattern

Возвращаемое значение:

Строка, используемая как шаблон.

Замечание:

Чтение и запись.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "абв"
Str = "абв 123"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res

Multiline

Синтаксис:

Multiline

Возвращаемое значение:

Число (булево). False - однострочный объект, True - многострочный. По умолчанию - False.

Замечание:

Чтение и запись. Влияет на работу метасимволов ^ и $.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
objRegExp.Pattern = "^абв"
Str = "абв 123 абв" & vbCrLf & "абв"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res
objRegExp.Multiline = True
Res = objRegExp.Replace(Str, "где")
MsgBox Res

Методы

Replace

Синтаксис:

Replace(<strSource>,<strReplace>)

Назначение:

Замена соответствующих шаблону вхождений в строке-оригинале на указанную подстроку. Возвращает (возможно) изменённую строку.

Параметры:

<strSource> - строка-оригинал (где заменять).
<strReplace> - подстрока для замены (на что заменять).

Описание:

Без комментариев.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "абв"
Str = "абв 123"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res

Test

Синтаксис:

Test(<strSource>)

Назначение:

Проверка соответствия шаблону. Возвращаемое значение - булево (число).

Параметры:

<strSource> - строка для проверки.

Описание:

Без комментариев.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "абв+"
Str = "абввввггг"
MsgBox objRegExp.Test(Str)
Str = "аввввггг"
MsgBox objRegExp.Test(Str)

Execute

Синтаксис:

Execute(<strSource>)

Назначение:

Поиск соответствующих шаблону вхождений в строке-оригинале. Возвращает коллекцию найденных подстрок в виде агрегатного объекта.

Параметры:

<strSource> - строка для поиска.

Описание:

Без комментариев.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "абв+"
objRegExp.Global = True
Str = "абв 123 абв абвв 456"
Set objMatches = objRegExp.Execute(Str)
For i=0 To objMatches.Count-1
    Set objMatch = objMatches.Item(i)
    'найденное значение (подстрока)
    'индекс первого символа найденной подстроки в строке-оригинале
    'длина найденной подстроки
    MsgBox objMatch.Value & ", " & "FirstIndex=" & objMatch.FirstIndex & ", " & "Length=" & objMatch.Length
Next

Метасимволы

\

Описание:

Показывает, что следующий символ является спецсимволом. Последовательность "\\" соответствует "\", а последовательность "\(" соответствует "(".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "^[A-Z]:\\$"
Str = "C:\"
Res = objRegExp.Test(Str)
MsgBox "строка """ & Str & """ соответствует шаблону """ & objRegExp.Pattern+""" = " & Res

^

Описание:

Определяет начало входной строки. Если установлено свойство Multiline, определяет также позицию сразу после "\n" (новая строка) и "\r" (возврат каретки).

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
objRegExp.Pattern = "^абв"
Str = "абв 123 абв" & vbCrLf & "абв"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res
objRegExp.Multiline = True
Res = objRegExp.Replace(Str, "где")
MsgBox Res

$

Описание:

Определяет конец входной строки. Если установлено свойство Multiline, определяет также позицию непосредственно перед "\n" (новая строка) и "\r" (возврат каретки).

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
objRegExp.Pattern = "абв$"
Str = "абв 123 абв" & vbCrLf & "абв"
MsgBox Str 'исходная строка
Res = objRegExp.Replace(Str, "где")
MsgBox Res
objRegExp.Multiline = True
Res = objRegExp.Replace(Str, "где")
MsgBox Res

*

Описание:

Определяет ни одного или несколько символов, стоящих перед ним. Эквивалентно {0,}.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "длинноше*"
Str = "длинношеее"
Res = objRegExp.Test(Str)
MsgBox "строка """ & Str & """ соответствует шаблону """ & objRegExp.Pattern & """ = " & Res

+

Описание:

Определяет один или несколько символов, стоящих перед ним. Эквивалентно {1,}.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "длинноше+"
Str = "длинношеее"
Res = objRegExp.Test(Str)
MsgBox "строка """ & Str & """ соответствует шаблону """ & objRegExp.Pattern & """ = " & Res

?

Описание:

Определяет ни одного или один символ, стоящий перед ним. Эквивалентно {0,1}. Если этот метасимвол идёт непосредственно за конструкциями (*, +, ?, {n}, {n,}, {n,m}), это приводит к некоторому изменению алгоритма поиска по заданному шаблону, что проиллюстрировано примером ниже.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "000111000"
objRegExp.Pattern = "0+"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern+""""
objRegExp.Pattern = "0+?"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern+""""

{n}

Описание:

Определяет точное количество символов, стоящих перед ним. "n" - неотрицательное целое число.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "000111001110000"
objRegExp.Pattern = "0{3}"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern & """"

{n,}

Описание:

Определяет минимальное количество символов, стоящих перед ним. "n" - неотрицательное целое число. "{0,}" эквивалентно "*", а "{1,}" эквивалентно "+".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "000111001110000"
objRegExp.Pattern = "0{3,}"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern & """"

{n,m}

Описание:

Определяет количество символов, стоящих перед ним (от - до). "n" и "m" - неотрицательные целые числа, причём n <= m. "{0,1}" эквивалентно "?".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "00011101110000"
objRegExp.Pattern = "0{2,3}"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern & """"

.

Описание:

Определяет любой символ, кроме "\n" (новая строка). Чтобы определить любой символ, включая "\n", следует использовать "[\s\S]".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "00" & vbCrLf & "00"
objRegExp.Pattern = "."
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern & """"
objRegExp.Pattern = "[\s\S]"
Set objMatches = objRegExp.Execute(Str)
MsgBox "в строке """ & Str & """ найдено " & objMatches.Count & " вхождений по шаблону """ & objRegExp.Pattern & """"

(шаблон)

Описание:

Фиксирует подбор по шаблону в коллекции SubMatces. Чтобы определить символы "(" и ")", следует использовать "\(" и "\)".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
Str = "One = 111" & vbCrLf & "Two = 222" & vbCrLf & "Three = 333"
'прочитаем параметр "Two"
objRegExp.Pattern = "Two = (.+\r)"
Set objMatches = objRegExp.Execute(Str)
Set objMatch = objMatches.Item(0)
MsgBox Trim(objMatch.Value)
Set objSubmatches = objMatch.Submatches
For i=0 To objSubmatches.Count-1
    MsgBox Trim(objSubmatches.Item(i))
Next

(?:шаблон)

Описание:

Полезно для комбинирования частей шаблона с помощью символа "|" ("или"). Например, "госпо(?:дин|жа)" короче, чем "господин|госпожа". НЕ фиксирует подбор в коллекции SubMatces.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "господин госпожа господа"
objRegExp.Pattern = "госпо(?:дин|жа)"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

(?=шаблон)

Описание:

"Windows(?=95|98)" подберёт подстроку "Windows" в строке "Windows95", но не в строке "WindowsNT". Дальнейший подбор начинается немедленно, а не после символов, входящих в скобки. НЕ фиксирует подбор в коллекции SubMatces.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "WindowsWindowsWindows"
objRegExp.Pattern = "Windows(?=Win)"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
For i=0 To objMatches.Count-1
    MsgBox objMatches.Item(i).Value
Next

(?!шаблон)

Описание:

"Windows(?!95|98)" подберёт подстроку "Windows" в строке "WindowsNT", но не в строке "Windows95". В остальном - полностью аналогично "(?=шаблон)".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "WindowsWindowsWindows"
objRegExp.Pattern = "Windows(?!Win)"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
For i=0 To objMatches.Count-1
    MsgBox objMatches.Item(i).Value
Next

x|y

Описание:

Условие "или". "вз|перевод" подберёт "вз" и "перевод". "(вз|пере)вод" подберёт "взвод" и "перевод".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Lindows Linux"
objRegExp.Pattern = "(Wi|Li)ndows"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

[abc]

Описание:

Набор символов. Находит любой из указанных символов.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Lindows Linux"
objRegExp.Pattern = "[WL]indows"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

[^abc]

Описание:

Исключающий набор символов. Находит любой из неуказанных символов.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Lindows Linux"
objRegExp.Pattern = "in[^uv]"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

[a-z]

Описание:

Диапазон символов. Находит любой символ из диапазона.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Lindows Linux"
objRegExp.Pattern = "[L-W]indows"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

[^a-z]

Описание:

Исключающий диапазон символов. Находит любой символ, не входящий в диапазон.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Lindows Linux"
objRegExp.Pattern = "[^A-K]indows"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\b \B

Описание:

\b - Граница слова, т.е. позиция между концом слова и пробелом.
\B - НЕ граница слова.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Windows Windows98"
objRegExp.Pattern = "ows\b"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
objRegExp.Pattern = "ows\B"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\d \D

Описание:

\d - цифра. Эквивалентно [0-9].
\D - НЕ цифра. Эквивалентно [^0-9].

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "WindowsNT Windows2000 Windows98"
objRegExp.Pattern = "Windows\d"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
objRegExp.Pattern = "Windows\D"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\w \W

Описание:

\w - любой символ слова, включая символ подчёркивания. Эквивалентно [A-Za-z0-9_].
\W - обратно "\w". Эквивалентно [^A-Za-z0-9_].

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows® Windows2000 Windows98"
objRegExp.Pattern = "Windows\w"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
objRegExp.Pattern = "Windows\W"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\s \S

Описание:

\s - пробельный символ. Эквивалентно [\f\n\r\t\v].
\S - непробельный символ. Эквивалентно [^\f\n\r\t\v].

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "Windows Windows Windows98"
objRegExp.Pattern = "Windows\s"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count
objRegExp.Pattern = "Windows\S"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\cx

Описание:

Управляющий символ. Параметр "х" лежит в диапазоне A-Z или a-z. Например, "\cM" определяет Control-M или символ возврата каретки, "\cJ" - новая строка, "\cL" - новая страница, "\cI" - символ табуляции, "\cK" - символ вертикальной табуляции.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbCrLf & vbCrLf
objRegExp.Pattern = "\cM"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\f

Описание:

Символ новой страницы. Эквивалент "\x0c" и "\cL".

\n

Описание:

Символ новой строки. Эквивалент "\x0a" и "\cJ".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbCrLf
objRegExp.Pattern = "\r\n"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\r

Описание:

Символ возврата каретки. Эквивалент "\x0d" и "\cM".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbCrLf
objRegExp.Pattern = "\r\n"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\t

Описание:

Символ табуляции. Эквивалент "\x09" и "\cI".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbTab
objRegExp.Pattern = "\t"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\v

Описание:

Символ вертикальной табуляции. Эквивалент "\x0b" и "\cK".

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbVerticalTab
objRegExp.Pattern = "\v"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\xn

Описание:

Шестнадцатеричный ASCII-код символа. Должен содержать ровно два символа.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = vbTab
objRegExp.Pattern = "\x09"
Set objMatches = objRegExp.Execute(Str)
MsgBox objMatches.Count

\num

Описание:

Ссылка на предыдущие зафиксированные (найденные) подстроки-соответствия шаблону (SubMatches). "num" - положительное целое число, номер соответствия в коллекции SubMatches; отсчёт с единицы. Например, "(.)\1" определяет два идентичных символа, следующих друг за другом.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "0:0:1-2:3:3-2:2:1-4:5:5-7:7:8"
'найдём группы, в которых две последние цифры совпадают
objRegExp.Pattern = "(\d)(:)(\d)(:)\3"
Set objMatches = objRegExp.Execute(Str)
For i=0 To objMatches.Count-1
    Set objMatch = objMatches.Item(i)
    MsgBox objMatch.Value
Next

\un

Описание:

Определяет Unicode-символ по его шестнадцатеричному коду. "n" - четырёхзначный шестнадцатеричный код.

Пример:

Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Global = True
Str = "© Microsoft © Sun"
objRegExp.Pattern = "\u00A9 Sun"
Set objMatches = objRegExp.Execute(Str)
For i=0 To objMatches.Count-1
    Set objMatch = objMatches.Item(i)
    MsgBox objMatch.Value
Next

Объект FileSystemObject

Создание объекта

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")

Свойства

Drives

Синтаксис:

Drives

Возвращаемое значение:

Объект-коллекция "Drives".

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Drive In FSO.Drives
    MsgBox Drive.DriveLetter
Next

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drives = FSO.Drives
MsgBox "Всего дисков - " & Drives.Count
Set DriveC = Drives.Item("C:")
MsgBox "Диск C: имеет метку " & DriveC.VolumeName

Методы

CreateFolder

Синтаксис:

CreateFolder(<Foldername>)

Назначение:

Создаёт каталог с указанным именем.

Параметры:

<Foldername> - строка, путь к каталогу. Если такой каталог уже существует, произойдёт ошибка.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CreateFolder "C:\New Folder

CopyFile

Синтаксис:

CopyFile(<Source>,<Destination>,<Overwrite>)

Назначение:

Копирует один или несколько файлов.

Параметры:

<Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Destination> - строка, путь назначения (куда копировать).
<Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "C:\*.bat", "A:\", 0

CopyFolder

Синтаксис:

CopyFolder(<Source>,<Destination>,<Overwrite>)

Назначение:

Рекурсивно копирует каталог.

Параметры:

<Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Destination> - строка, путь назначения (куда копировать).
<Overwrite> - необязательный, булево (число). Перезаписывать существующие файлы, или нет. По умолчанию - True (перезаписывать). Если файл, который нужно перезаписать, имеет атрибут read-only, возникнет ошибка (независимо от установки этого параметра).

Описание:

Процесс копирования прерывается после первой возникшей ошибки.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "C:\NewFolder\*", "C:\TEMP\", 0

MoveFile

Синтаксис:

MoveFile(<Source>,<Destination>)

Назначение:

Перемещает один или несколько файлов.

Параметры:

<Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Destination> - строка, путь назначения (куда копировать).

Описание:

Процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый файл уже существует или является папкой в Destination, возникнет ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFile "C:\*.txt", "A:\"

MoveFolder

Синтаксис:

MoveFolder(<Source>,<Destination>)

Назначение:

Рекурсивно перемещает один или несколько каталогов.

Параметры:

<Source> - строка, путь к источнику копирования (что копировать). В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Destination> - строка, путь назначения (куда копировать).

Описание:

Процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый каталог уже существует или является файлом в Destination, возникнет ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFolder "C:\New Folde*", "C:\TEMP\"

DeleteFile

Синтаксис:

DeleteFile(<Filespec>,<Force>)

Назначение:

Удаляет указанный файл.

Параметры:

<Filespec> - строка, путь к файлу. В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFile "A:\*", 0

DeleteFolder

Синтаксис:

DeleteFolder(<Folderspec>,<Force>)

Назначение:

Удаляет указанную папку.

Параметры:

<Folderspec> - строка, путь к папке. В последнем компоненте параметра можно использовать групповые символы "*" и "?".
<Force> - необязательный, булево (число). Определяет, удалять или нет файлы с атрибутом read-only. По умолчанию - False (не удалять).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "A:\*", 0

BuildPath

Синтаксис:

BuildPath(<Path>,<Name>)

Назначение:

Добавляет к заданному пути новое имя. Если необходимо, вставляется "\".

Параметры:

<Path> - строка, путь.
<Name> - строка, имя файла.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.BuildPath("C:\Program Files", "New Folder")
MsgBox Path
Path = FSO.BuildPath("C:\Program Files\", "New Folder")
MsgBox Path

GetAbsolutePathName

Синтаксис:

GetAbsolutePathName(<Pathspec>)

Назначение:

Возвращает полный путь для заданного относительного пути (из текущего каталога).

Параметры:

<Pathspec> - строка, относительный путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetAbsolutePathName("..")
MsgBox Path
Path = FSO.GetAbsolutePathName(".\aaa\bbb\ccc.txt")
MsgBox Path

GetBaseName

Синтаксис:

GetBaseName(<Path>)

Назначение:

Возвращает имя (без расширения) последнего компонента в заданном пути.

Параметры:

<Path> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetBaseName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name

GetExtensionName

Синтаксис:

GetExtensionName(<Path>)

Назначение:

Возвращает расширение последнего компонента в заданном пути.

Параметры:

<Path> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetExtensionName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name

GetFileName

Синтаксис:

GetFileName(<Path>)

Назначение:

Возвращает имя (с расширением) последнего компонента в заданном пути.

Параметры:

<Path> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetFileName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name

GetParentFolderName

Синтаксис:

GetParentFolderName(<Path>)

Назначение:

Возвращает путь к последнему компоненту в заданном пути (его каталог).

Параметры:

<Path> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetParentFolderName("Q:\aaa\bred\MySuperFile.txt")
MsgBox Name

GetDriveName

Синтаксис:

GetDriveName(<Path>)

Назначение:

Возвращает имя диска в заданном пути.

Параметры:

<Path> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Name = FSO.GetDriveName("X:\aaa\bred\MySuperFile.txt")
MsgBox Name

DriveExists

Синтаксис:

DriveExists(<Drivespec>)

Назначение:

Возвращает True, если указанный диск сущесвтвует, и False в противном случае.

Параметры:

<Drivespec> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Disk = "A:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk)
Disk = "Q:"
MsgBox "Диск " & Disk & " существует = " & FSO.DriveExists(Disk)

FileExists

Синтаксис:

FileExists(<Filespec>)

Назначение:

Возвращает True, если указанный файл сущесвтвует, и False в противном случае.

Параметры:

<Filespec> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
File = "C:\Program Files\1Cv77\BIN\1cv7s.exe"
MsgBox "Файл " & File & " существует = " & FSO.FileExists(File)
File = "С:\1.txt"
MsgBox "Файл " & File & " существует = " & FSO.FileExists(File)

FolderExists

Синтаксис:

FolderExists(<Folderspec>)

Назначение:

Возвращает True, если указанный каталог сущесвтвует, и False в противном случае.

Параметры:

<Folderspec> - строка, путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Folder = "C:\Program Files"
MsgBox "Каталог " & Folder & " существует = " & FSO.FolderExists(Folder)
Folder = "С:\ProgramFiles"
MsgBox "Каталог " & Folder & " существует = " & FSO.FolderExists(Folder)

GetDrive

Синтаксис:

GetDrive(<Folderspec>)

Назначение:

Возвращает объект "Drive" по указанному имени или пути.

Параметры:

<Folderspec> - строка, имя диска или путь к корневому каталогу диска, возможно UNC-путь.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Drive = FSO.GetDrive("C:")
MsgBox Drive.FileSystem
Set Drive = FSO.GetDrive("C:\")
MsgBox Drive.FileSystem
Set Drive = FSO.GetDrive("\\Server\1C_Predpr")
MsgBox Drive.FileSystem

GetFile

Синтаксис:

GetFile(<Filespec>)

Назначение:

Возвращает объект "File" по указанному пути.

Параметры:

<Filespec> - строка, путь.

Описание:

Если файл не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
MsgBox File.Size

GetFolder

Синтаксис:

GetFolder(<Folderspec>)

Назначение:

Возвращает объект "Folder" по указанному пути.

Параметры:

<Folderspec> - строка, путь.

Описание:

Если каталог не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
MsgBox Folder.ShortName

GetSpecialFolder

Синтаксис:

GetSpecialFolder(<Folderspec>)

Назначение:

Возвращает объект "Folder" для некоторых специальных папок Windows.

Параметры:

<Folderspec> - число, определяет специальную папку. Возможные значения:
0 - Каталог Windows.
1 - Системный каталог библиотек и драйверов.
2 - Каталог временных файлов, путь к которому хранится в переменной среды "TMP".

Описание:

Если каталог не существует, произойдёт ошибка.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
For i=0 To 2
    Set Folder = FSO.GetSpecialFolder(i)
    MsgBox Folder.Path
Next

GetTempName

Синтаксис:

GetTempName()

Назначение:

Возвращает случайным образом сгенерированное имя файла, которое может быть использовано для создания временного файла.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
MsgBox FSO.GetTempName()

CreateTextFile

Синтаксис:

CreateTextFile(<Filename>,<Overwrite>,<Unicode>)

Назначение:

Создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

<Filename> - строка, путь к файлу.
<Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка.
<Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")

OpenTextFile

Синтаксис:

OpenTextFile(<Filename>,<Iomode>,<Create>,<Format>)

Назначение:

Открывает текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

<Filename> - строка, путь к файлу.
<Iomode> - необязательный, число. Возможные значения:
1 - Открыть файл только для чтения.
2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
<Create> - необязательный, булево (число). Создавать файл, если он не существует (True), или нет (False). По умолчанию - False.
<Format> - необязательный, число. Возможные значения:
-2 - Открыть файл в формате, используемом системой по умолчанию.
-1 - Открыть файл в формате Unicode.
0 - Открыть файл в формате ASCII (по умолчанию).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("C:\Test.txt", 2, True)

GetStandardStream

Синтаксис:

GetStandardStream(<StandardStreamType>,<Unicode>)

Назначение:

Возвращает объект "TextStream", ассоциированный с потоком "StdIn", "StdOut" или "StdErr".

Параметры:

<StandardStreamType> - число, определяет поток. Возможные значения:
0 - StdIn.
1 - StdOut.
2 - StdErr.
<Unicode> - необязательный, булево (число). True - формат Unicode, False - ASCII. По умолчанию - False.

Описание:

Метод применим при запуске административного скрипта в консоли с помощью CScript.exe.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream(1)
stdout.WriteLine "Hello, VBScript."

GetFileVersion

Синтаксис:

GetFileVersion(<Path>)

Назначение:

Возвращает номер версии исполняемого файла (строка).

Параметры:

<Path> - строка, путь к файлу.

Описание:

Метод возвращает информацию, которую можно просмотреть на вкладке "Версия" палитры свойств файла в проводнике.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
MsgBox FSO.GetFileVersion("C:\Program Files\1Cv77\BIN\1cv7s.exe")
MsgBox FSO.GetFileVersion("C:\Program Files\1cv8\bin\1cv8.exe")

Объект FileSystemObject

Объект Drive

Создание объекта

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.Drives.Item("C:")

Свойства

AvailableSpace

Синтаксис:

AvailableSpace

Возвращаемое значение:

Число - количество доступного для пользователя места на диске в байтах.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

DriveLetter

Синтаксис:

DriveLetter

Возвращаемое значение:

Строка - буква, ассоциированная с ресурсом.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

DriveType

Синтаксис:

DriveType

Возвращаемое значение:

Число - определяет тип ресурса. Возможные значения:
0 - неизвестное устройство.
1 - устройство со сменным носителем.
2 - жёсткий диск.
3 - сетевой диск.
4 - CD-ROM.
5 - RAM-диск.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

FileSystem

Синтаксис:

FileSystem

Возвращаемое значение:

Строка - тип файловой системы (FAT, NTFS или CDFS).

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

FreeSpace

Синтаксис:

FreeSpace

Возвращаемое значение:

Число - количество свободного места на диске в байтах.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

IsReady

Синтаксис:

IsReady

Возвращаемое значение:

Булево (число) - True, если устройство готово, иначе - False. Актуально для устройства со сменным носителем или CD-ROM.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

Path

Синтаксис:

Path

Возвращаемое значение:

Строка - путь к диску (например, "C:", но не "C:\").

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

RootFolder

Синтаксис:

RootFolder

Возвращаемое значение:

Объект "Folder", соответствующий корневому каталогу диска.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

SerialNumber

Синтаксис:

SerialNumber

Возвращаемое значение:

Число - десятичный серийный номер диска.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

ShareName

Синтаксис:

ShareName

Возвращаемое значение:

Строка - сетевое имя диска, если диск сетевой (иначе - пустая строка).

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

TotalSize

Синтаксис:

TotalSize

Возвращаемое значение:

Число - общий объём диска в байтах.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

VolumeName

Синтаксис:

VolumeName

Возвращаемое значение:

Строка - метка тома диска.

Замечание:

Чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Str = "Диск C:" & vbCrLf & _
"AvailableSpace: " & DriveC.AvailableSpace & vbCrLf & _
"DriveLetter: " & DriveC.DriveLetter & vbCrLf & _
"DriveType: " & DriveC.DriveType & vbCrLf & _
"FileSystem: " & DriveC.FileSystem & vbCrLf & _
"FreeSpace: " & DriveC.FreeSpace & vbCrLf & _
"IsReady: " & DriveC.IsReady & vbCrLf & _
"Path: " & DriveC.Path & vbCrLf & _
"RootFolder (Path): " & DriveC.RootFolder.Path & vbCrLf & _
"SerialNumber: " & DriveC.SerialNumber & vbCrLf & _
"ShareName: " & DriveC.ShareName & vbCrLf & _
"TotalSize: " & DriveC.TotalSize & vbCrLf & _
"VolumeName: " & DriveC.VolumeName
MsgBox Str

 

Объект File

Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set File = Folder.Files("autoexec.bat")

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set File = Folder.Files.Item("autoexec.bat")

Свойства

Attributes

Синтаксис:

Attributes

Возвращаемое значение:

Число, набор флагов атрибутов файла. Флаги:
0 - Normal. Обычный файл (нет атрибутов).
1 - ReadOnly. Файл только для чтения. Чтение и запись.
2 - Hidden. Скрытый. Чтение и запись.
4 - System. Системный. Чтение и запись.
8 - Volume. Диск. Только чтение.
16 - Directory. Папка или файл. Только чтение.
32 - Archive. Архивный. Чтение и запись.
1024 - Alias. Ссылка или ярлык. Только чтение.
2048 - Compressed. Сжатый. Только чтение.

Замечание:

Чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Attrs = File.Attributes
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "Normal", 0
Dict.Add "ReadOnly", 0
Dict.Add "Hidden", 0
Dict.Add "System", 0
Dict.Add "Volume", 0
Dict.Add "Directory", 0
Dict.Add "Archive", 0
Dict.Add "Alias", 0
Dict.Add "Compressed", 0
If Attrs=0 Then
    Dict.Item("Normal") = 1
End If
If Attrs-2048>=0 Then
    Dict.Item("Compressed") = 1
    Attrs = Attrs-2048
End If
If Attrs-1024>=0 Then
    Dict.Item("Alias") = 1
    Attrs = Attrs-1024
End If
If Attrs-32>=0 Then
    Dict.Item("Archive") = 1
    Attrs = Attrs-32
End If
If Attrs-16>=0 Then
    Dict.Item("Directory") = 1
    Attrs = Attrs-16
End If
If Attrs-8>=0 Then
    Dict.Item("Volume") = 1
    Attrs = Attrs-8
End If
If Attrs-4>=0 Then
    Dict.Item("System") = 1
    Attrs = Attrs-4
End If
If Attrs-2>=0 Then
    Dict.Item("Hidden") = 1
    Attrs = Attrs-2
End If
If Attrs-1>=0 Then
    Dict.Item("ReadOnly") = 1
    Attrs = Attrs-1
End If
Str = "Атрибуты файла """ & File.Path & """:" & vbCrLf
For Each Attr In Dict
    Str = Str & Attr & " = " & Dict.Item(Attr) & vbCrLf
Next
MsgBox Str

DateCreated

Синтаксис:

DateCreated

Возвращаемое значение:

Дата создания файла.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

DateLastAccessed

Синтаксис:

DateLastAccessed

Возвращаемое значение:

Дата последнего доступа к файлу.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

DateLastModified

Синтаксис:

DateLastModified

Возвращаемое значение:

Дата последней модификации файла.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Drive

Синтаксис:

Drive

Возвращаемое значение:

Объект "Drive" диска, на котором находится файл.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Name

Синтаксис:

Name

Возвращаемое значение:

Имя файла.

Замечание:

Чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

ParentFolder

Синтаксис:

ParentFolder

Возвращаемое значение:

Объект "Folder" родительского каталога.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Path

Синтаксис:

Path

Возвращаемое значение:

Полный путь к файлу.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

ShortName

Синтаксис:

ShortName

Возвращаемое значение:

Короткое имя файла в формате 8.3.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

ShortPath

Синтаксис:

ShortPath

Возвращаемое значение:

Короткий путь к файлу в формате 8.3.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Size

Синтаксис:

Size

Возвращаемое значение:

Размер файла в байтах.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Type

Синтаксис:

Type

Возвращаемое значение:

Тип файла. Информация, похожая на ту, которую можно увидеть в палитре свойств файла в проводнике.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str

Методы

Copy

Синтаксис:

Copy(<Destination>,<Overwrite>)

Назначение:

Копирует файл в указанное место.

Параметры:

<Destination> - строка, путь (куда копировать).
<Overwrite> - необязательный, булево (число). Заменять файл, если он существует (True), или нет (False).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Copy "D:\"
File.Copy "D:\Copy of autoexec.bat"

Move

Синтаксис:

Move(<Destination>)

Назначение:

Перемещает файл в указанное место.

Параметры:

<Destination> - строка, путь (куда перемещать).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
File.Move "D:\"
'File.Move "D:\Copy of autoexec.bat"

Delete

Синтаксис:

Delete(<Force>)

Назначение:

Удаляет файл.

Параметры:

<Force> - необязательный, булево (число). Удалять файл, если он имеет атрибут "только для чтения" (True), или нет (False).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\Test.txt")
File.Delete

OpenAsTextStream

Синтаксис:

OpenAsTextStream(<Iomode>,<Format>)

Назначение:

Открывает текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

<Iomode> - необязательный, число. Возможные значения:
1 - Открыть файл только для чтения.
2 - Открыть файл для записи. Если файл уже существовал, его содержимое теряется.
8 - Открыть файл для добавления. Если файл уже существовал, информация будет дописываться в конец файла.
<Format> - необязательный, число. Возможные значения:
-2 - Открыть файл в формате, используемом системой по умолчанию.
-1 - Открыть файл в формате Unicode.
0 - Открыть файл в формате ASCII (по умолчанию).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close

Объект Folder

Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetSpecialFolder(0)

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set DriveC = FSO.GetDrive("C:")
Set Folder = DriveC.RootFolder

Пример №4:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
For Each SubFolder In Folder.SubFolders
    WScript.Echo SubFolder.Name
Next

Свойства

Attributes

Синтаксис:

Attributes

Возвращаемое значение:

Число, набор флагов атрибутов папки. Флаги:
0 - Normal. Обычный файл (нет атрибутов).
1 - ReadOnly. Файл только для чтения. Чтение и запись.
2 - Hidden. Скрытый. Чтение и запись.
4 - System. Системный. Чтение и запись.
8 - Volume. Диск. Только чтение.
16 - Directory. Папка или файл. Только чтение.
32 - Archive. Архивный. Чтение и запись.
1024 - Alias. Ссылка или ярлык. Только чтение.
2048 - Compressed. Сжатый. Только чтение.

Замечание:

Чтение и запись или только чтение, в зависимости от атрибута.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Attrs = Folder.Attributes
Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "Normal", 0
Dict.Add "ReadOnly", 0
Dict.Add "Hidden", 0
Dict.Add "System", 0
Dict.Add "Volume", 0
Dict.Add "Directory", 0
Dict.Add "Archive", 0
Dict.Add "Alias", 0
Dict.Add "Compressed", 0
If Attrs=0 Then
    Dict.Item("Normal") = 1
End If
If Attrs-2048>=0 Then
    Dict.Item("Compressed") = 1
    Attrs = Attrs-2048
End If
If Attrs-1024>=0 Then
    Dict.Item("Alias") = 1
    Attrs = Attrs-1024
End If
If Attrs-32>=0 Then
    Dict.Item("Archive") = 1
    Attrs = Attrs-32
End If
If Attrs-16>=0 Then
    Dict.Item("Directory") = 1
    Attrs = Attrs-16
End If
If Attrs-8>=0 Then
    Dict.Item("Volume") = 1
    Attrs = Attrs-8
End If
If Attrs-4>=0 Then
    Dict.Item("System") = 1
    Attrs = Attrs-4
End If
If Attrs-2>=0 Then
    Dict.Item("Hidden") = 1
    Attrs = Attrs-2
End If
If Attrs-1>=0 Then
    Dict.Item("ReadOnly") = 1
    Attrs = Attrs-1
End If
Str = "Атрибуты папки """ & Folder.Path & """:" & vbCrLf
For Each Attr In Dict
    Str = Str & Attr & " = " & Dict.Item(Attr) & vbCrLf
Next
MsgBox Str

DateCreated

Синтаксис:

DateCreated

Возвращаемое значение:

Дата создания каталога.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

DateLastAccessed

Синтаксис:

DateLastAccessed

Возвращаемое значение:

Дата последнего доступа к каталогу.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

DateLastModified

Синтаксис:

DateLastModified

Возвращаемое значение:

Дата последней модификации каталога.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

Drive

Синтаксис:

Drive

Возвращаемое значение:

Объект "Drive" диска, на котором находится каталог.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

IsRootFolder

Синтаксис:

IsRootFolder

Возвращаемое значение:

Булево (число). Признак того, является ли каталог корневым.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

Name

Синтаксис:

Name

Возвращаемое значение:

Имя каталога.

Замечание:

Чтение и запись.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

ParentFolder

Синтаксис:

ParentFolder

Возвращаемое значение:

Объект "Folder" родительского каталога.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

Path

Синтаксис:

Path

Возвращаемое значение:

Полный путь к каталогу.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

ShortName

Синтаксис:

ShortName

Возвращаемое значение:

Короткое имя каталога в формате 8.3.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

ShortPath

Синтаксис:

ShortPath

Возвращаемое значение:

Короткий путь к каталогу в формате 8.3.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

Size

Синтаксис:

Size

Возвращаемое значение:

Размер всех файлов и подкаталогов, входящих в данный каталог, в байтах.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

Type

Синтаксис:

Type

Возвращаемое значение:

Тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
Str = vbNullString
Str = Str & "Дата создания - " & Folder.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & Folder.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & Folder.DateLastModified & vbCrLf
Str = Str & "Диск - " & Folder.Drive.DriveLetter & vbCrLf
Str = Str & "Это корневой каталог - " & Folder.IsRootFolder & vbCrLf
Str = Str & "Имя - " & Folder.Name & vbCrLf
Str = Str & "Родительский каталог - " & Folder.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & Folder.Path & vbCrLf
Str = Str & "Короткое имя - " & Folder.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & Folder.ShortPath & vbCrLf
Str = Str & "Размер - " & Folder.Size & vbCrLf
Str = Str & "Тип каталога - " & Folder.Type & vbCrLf
MsgBox Str

SubFolders

Синтаксис:

SubFolders

Возвращаемое значение:

Объект-коллекция "Folders", содержащая все подкаталоги данного каталога, включая скрытые и системные.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
MsgBox Folder.SubFolders.Count
Set SubFolder = Folder.SubFolders.Item("Program Files")
MsgBox SubFolder.Path
Set SubFolder = Folder.SubFolders("Program Files")
MsgBox SubFolder.Path

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Program Files")
For Each SubFolder In Folder.SubFolders
    WScript.Echo SubFolder.Name
Next

Создание нового подкаталога:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set NewFolder = Folder.SubFolders.Add("New Folder")

Files

Синтаксис:

Files

Возвращаемое значение:

Объект-коллекция "Files", содержащая все файлы данного каталога, включая скрытые и системные.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
MsgBox Folder.Files.Count
Set File = Folder.Files.Item("AUTOEXEC.BAT")
MsgBox File.Path
Set File = Folder.Files("AUTOEXEC.BAT")
MsgBox File.Path

Другой пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
For Each File In Folder.Files
    WScript.Echo File.Name
Next

Методы

Copy

Синтаксис:

Copy(<Destination>,<Overwrite>)

Назначение:

Копирует каталог в указанное место.

Параметры:

<Destination> - строка, путь (куда копировать).
<Overwrite> - необязательный, булево (число). Заменять каталог, если он существует (True), или нет (False).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("D:\Job\Site")
Folder.Copy "D:\"

Move

Синтаксис:

Move(<Destination>)

Назначение:

Перемещает каталог в указанное место.

Параметры:

<Destination> - строка, путь (куда перемещать).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("D:\Job\Site")
Folder.Move "D:\"

Delete

Синтаксис:

Delete(<Force>)

Назначение:

Удаляет каталог со всем содержимым.

Параметры:

<Force> - необязательный, булево (число). Удалять каталог, если он имеет атрибут "только для чтения" (True), или нет (False).

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\New Folder")
Folder.Delete

CreateTextFile

Синтаксис:

CreateTextFile(<Filename>,<Overwrite>,<Unicode>)

Назначение:

Создаёт новый текстовый файл и возвращает объект "TextStream", указывающий на него.

Параметры:

<Filename> - строка, имя файла.
<Overwrite> - необязательный, булево (число). Перезаписывать файл, если он существует (True), или нет (False). По умолчанию - False. Если указано False и файл существует - произойдёт ошибка.
<Unicode> - необязательный, булево (число). Файл в формате Unicode (True), или ASCII (False). По умолчанию - False.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set TextStream = Folder.CreateTextFile("Test.txt")

Объект TextStream

Создание объекта

Пример №1:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")

Пример №2:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\")
Set TextStream = Folder.CreateTextFile("Test.txt")

Пример №3:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile("C:\autoexec.bat")

Пример №4:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\autoexec.bat")
Set TextStream = File.OpenAsTextStream(1)

Свойства

AtEndOfLine

Синтаксис:

AtEndOfLine

Возвращаемое значение:

Содержит True, если указатель достиг конца строки и False в противном случае. Работает только если файл открыт для чтения.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfLine
    Str = Str & TextStream.Read(1)
Wend
TextStream.Close
MsgBox Str

Свойства

AtEndOfStream

Синтаксис:

AtEndOfStream

Возвращаемое значение:

Содержит True, если указатель достиг конца файла и False в противном случае. Работает только если файл открыт для чтения.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.ReadLine() & vbCrLf
Wend
TextStream.Close
MsgBox Str

Объект TextStream

Свойства

Column

Синтаксис:

Column

Возвращаемое значение:

Содержит номер колонки текущего символа файла.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfLine
    Str = Str & TextStream.Column & ": " & TextStream.Read(1) & vbCrLf
Wend
TextStream.Close
MsgBox Str

Line

Синтаксис:

Line

Возвращаемое значение:

Содержит номер текущей строки файла.

Замечание:

Только чтение.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.Line & ": " & TextStream.ReadLine() & vbCrLf
Wend
TextStream.Close
MsgBox Str

Методы

Close

Синтаксис:

Close

Назначение:

Закрывает открытый файл.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close

Read

Синтаксис:

Read(<Characters>)

Назначение:

Считывает из файла указанное количество символов и возвращает полученную строку.

Параметры:

<Characters> - число, количество символов, которое нужно считать.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.Read(13)
TextStream.Close

ReadAll

Синтаксис:

ReadAll

Назначение:

Считывает весь файл и возвращает полученную строку.

Параметры:

Нет.

Описание:

Для больших файлов использование этого метода потребует больших ресурсов памяти.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadAll()
TextStream.Close

ReadLine

Синтаксис:

ReadLine

Назначение:

Считывает строку из файла и возвращает полученную строку.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & TextStream.ReadLine() & vbCrLf
Wend
MsgBox Str
TextStream.Close

Skip

Синтаксис:

Skip(<Characters>)

Назначение:

Пропускает при чтении файла указанное количество символов.

Параметры:

<Characters> - число, количество символов, которые нужно пропустить.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.Read(13)
TextStream.Skip 10
MsgBox TextStream.Read(10)
TextStream.Close

SkipLine

Синтаксис:

SkipLine

Назначение:

Пропускает при чтении файла строку.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:\boot.ini")
Set TextStream = File.OpenAsTextStream(1)
MsgBox TextStream.ReadLine()
TextStream.SkipLine
MsgBox TextStream.ReadLine()
TextStream.Close

Write

Синтаксис:

Write(<String>)

Назначение:

Записывает в файл указанную строку. Символы возврата каретки и новой строки в файл не записываются.

Параметры:

<String> - строка для записи в файл.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.Write("Text")
TextStream.Close

WriteLine

Синтаксис:

WriteLine(<String>)

Назначение:

Записывает в файл указанную строку. В файл записываются символы возврата каретки и новой строки.

Параметры:

<String> - необязательный, строка для записи в файл. Если опущен, в файл записывается пустая строка.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.WriteLine "Text"
TextStream.Close

WriteBlankLines

Синтаксис:

WriteBlankLines(<Lines>)

Назначение:

Записывает в файл указанное количество пустых строк (символы возврата каретки и новой строки).

Параметры:

<Lines> - число, количество пустых строк, которое надо записать.

Описание:

Без комментариев.

Пример:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.CreateTextFile("C:\Test.txt")
TextStream.WriteBlankLines 5
TextStream.Close

Объект WshShell

Создание объекта

Пример:

Set WshShell = CreateObject("WScript.Shell")

Свойства

CurrentDirectory

Синтаксис:

CurrentDirectory

Возвращаемое значение:

Строка, путь к текущему каталогу.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.CurrentDirectory

Environment

Синтаксис:

Environment(<Type>)

Возвращаемое значение:

Объект-коллекция "WshEnvironment", содержащая переменные среды. Необязательный параметр "Type" - строка, задаёт вид переменных. Возможные значения:
"System" - переменные среды операционной системы (в Windows NT/2000 - это параметр по умолчанию).
"User" - переменные среды пользователя.
"Volatile" - временные переменные.
"Process" - переменные среды текущего командного окна (в Windows 95/98/Me - это единственно возможный параметр).

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment
MsgBox WshEnv.Item("WINDIR")

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
WScript.Echo "ПЕРЕМЕННЫЕ System:"
For Each Var In WshShell.Environment("System")
    WScript.Echo Var
Next
WScript.Echo vbCrLf & "ПЕРЕМЕННЫЕ User:"
For Each Var In WshShell.Environment("User")
    WScript.Echo Var
Next
WScript.Echo vbCrLf & "ПЕРЕМЕННЫЕ Volatile:"
For Each Var In WshShell.Environment("Volatile")
    WScript.Echo Var
Next
WScript.Echo vbCrLf & "ПЕРЕМЕННЫЕ Process:"
For Each Var In WshShell.Environment("Process")
    WScript.Echo Var
Next

SpecialFolders

Синтаксис:

SpecialFolders(<WshSpecialFolder>)

Возвращаемое значение:

Объект-коллекция "SpecialFolders", содержащая пути к специальным папкам Windows. Некоторые специальные папки:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Template

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set SpecialFolders = WshShell.SpecialFolders
MsgBox SpecialFolders.Item("Desktop")
MsgBox WshShell.SpecialFolders("Desktop")

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
For Each Folder In WshShell.SpecialFolders
    WScript.Echo Folder
Next

Методы

ExpandEnvironmentStrings

Синтаксис:

ExpandEnvironmentStrings(<String>)

Назначение:

Возвращает значение переменной среды текущего командного окна.

Параметры:

<String> - строка, имя переменной. Должно быть окружено знаками "%".

Описание:

Без комментариев.

Пример:

Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.ExpandEnvironmentStrings("%WinDir%")

Popup

Синтаксис:

Popup(<Text>,<SecondsToWait>,<Title>,<Type>)

Назначение:

Выводит на экран модальное окно сообщения.

Параметры:

<Text> - строка, текст сообщения.
<SecondsToWait> - необязательный, число. Количество секунд, по истечении которого окно будет автоматически закрыто.
<Title> - необязательный, строка. Текст заголовка окна сообщения.
<Type> - необязательный, число. Комбинация флагов, определяет тип кнопок и значка. Возможные значения флагов:
0 - кнопка ОК.
1 - кнопки ОК и Отмена.
2 - кнопки Стоп, Повтор, Пропустить.
3 - кнопки Да, Нет, Отмена.
4 - кнопки Да и Нет.
5 - кнопки Повтор и Отмена.
16 - значок Stop.
32 - значок Question.
48 - значок Exclamation.
64 - значок Information.

Описание:

Возвращает целое значение, с помощью которого можно узнать, какая кнопка быля нажата пользователем. Возможные значения:
-1 - таймаут.
1 - кнопка ОК.
2 - кнопка Отмена.
3 - кнопка Стоп.
4 - кнопка Повтор.
5 - кнопка Пропустить.
6 - кнопка Да.
7 - кнопка Нет.

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup "Текст сообщения",, "Текст заголовка", 4+16

SendKeys

Синтаксис:

SendKeys(<String>)

Назначение:

Посылает одно или несколько нажатий клавиш в активное окно (имитация набора на клавиатуре).

Параметры:

<String> - строка, перечень клавиш в специальном формате.

Описание:

Каждая клавиша задаётся своим символом. Например, чтобы задать нажатие друг за другом клавиш А, Б и В, нужно указать в качестве параметра строку "АБВ".
Некоторые специальные символы следует всегда задавать заключёнными в фигурные скобки. Перечень таких символов:
{+} {^} {%} {~} {(} {)} {[} {]} {{} {}}
Задание неотображаемых символов и специальных клавиш:
<Backspace> - {BACKSPACE} или {BS} или {BKSP}
<Break> - {BREAK}
<Caps Lock> - {CAPSLOCK}
<Delete> - {DELETE} или {DEL}
<End> - {END}
<Enter> - {ENTER} или ~
<Esc> - {ESC}
<Home> - {HOME}
<Insert> - {INSERT} или {INS}
<Num Lock> - {NUMLOCK}
<Page Down> - {PGDN}
<Page Up> - {PGUP}
<Print Screen> - {PRTSC}
<Scroll Lock> - {SCROLLLOCK}
<Tab> - {TAB}
<Up Arrow> - {UP}
<Left Arrow> - {LEFT}
<Down Arrow> - {DOWN}
<Right Arrow> - {RIGHT}
<F1> - {F1}
<F2> - {F2}
и т.д.
<Shift> - +
<Ctrl> - ^
<Alt> - %
Можно использовать скобки. Например, нажатие клавиш <G> и <S> при нажатом <Shift> следует записывать как "+(GS)". Запись "+GS" приведёт к нажатию клавиши <G> при нажатом <Shift>, а затем клавиши <S> уже без <Shift>.
Задание нескольких нажатий: "{LEFT 42}" приведёт к нажатию клавиши <Left Arrow> 42 раза подряд, "{h 10}" приведёт к нажатию клавиши <h> 10 раз подряд.
Метод не может быть использован для посылки нажатий клавиш в приложения MS-DOS.

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}"

Run

Синтаксис:

Run(<Command>,<WindowStyle>,<WaitOnReturn>)

Назначение:

Создаёт новый независимый процесс, который запускает заданное приложение.

Параметры:

<Command> - строка, командная строка запуска приложения.
<WindowStyle> - необязательный, число. Определяет вид окна запускаемого приложения. Некоторые возможные значения:
1 - Активизирует и отображает окно.
2 - Активизирует окно и отображает его в свёрнутом виде.
3 - Активизирует окно и отображает его в максимизированном виде.
<WaitOnReturn> - необязательный, булево (число). True - сценарий возобновит работу только после завершения вызванного процесса. False (по умолчанию) - управление передаётся сразу обратно в сценарий.

Описание:

Если параметр "WaitOnReturn" установлен в True, метод возвращает код выхода вызванного приложения. Иначе метод всегда возвращает ноль.

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "explorer /e,/root,""C:\Program Files"""

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("notepad", 1, True)
MsgBox "Обработка завершена! Код возврата - " & RetCode

Exec

Синтаксис:

Exec(<Command>)

Назначение:

Создаёт новый дочерний процесс (т.е. процесс с теми же переменными среды), который запускает заданное консольное приложение. Возвращается объект "WshScriptExec", который позволяет контролировать ход выполнения запущенного приложения и обеспечивает доступ к потокам StdIn, StdOut и StdErr этого приложения.

Параметры:

<Command> - строка, командная строка запуска приложения.

Описание:

С помощью данного метода можно запускать и графические оконные приложения. В этом случае возвращаемый объект "WshScriptExec" полезен тем, что позволяет получить идентификатор запущенного процесса, который можно использовать, например, для активизации приложения с помощью метода AppActivate.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("nslookup 127.0.0.1")
WScript.Sleep 7000
Set TextStream = WshExec.StdOut
Str = vbNullString
While Not TextStream.AtEndOfStream
    Str = Str & Trim(TextStream.ReadLine()) & vbCrLf
Wend
MsgBox Str

Другой пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
WshShell.AppActivate(WshExec.ProcessID)
WshShell.SendKeys "0123456789"

AppActivate

Синтаксис:

AppActivate(<Title>)

Назначение:

Активизирует указанное окно какого-либо приложения. Возвращает True в случае успеха и False в случае неудачи.

Параметры:

<Title> - заголовок окна приложения или идентификатор процесса.

Описание:

Если в качестве параметра указан заголовок окна приложения, значение параметра сравнивается по очереди с заголовками окон всех запущенных приложений. Если не найдено ни одного точного совпадения, будет производиться поиск окна, заголовок которого начинается с указанной строки. Если и в этом случае не будет найдено ни одного подходящего окна, будет производиться поиск окна, заголовок которого заканчивается на указанную строку. Если будет найдено несколько подходящих окон, произойдёт активизация одного из них (произвольно).

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
Res = WshShell.AppActivate(WshExec.ProcessID)
If Res Then WshShell.SendKeys("0123456789")

RegDelete

Синтаксис:

RegDelete(<Name>)

Назначение:

Удаляет из реестра заданный параметр или раздел целиком.

Параметры:

<Name> - строка, наименование параметра или раздела.

Описание:

Если "Name" оканчивается символом "\", метод удаляет ключ целиком, в противном случае удаляется параметр. Параметр "Name" должен начинаться с одного из корневых ключей:
HKEY_CURRENT_USER - HKCU
HKEY_LOCAL_MACHINE - HKLM
HKEY_CLASSES_ROOT - HKCR
HKEY_USERS - HKEY_USERS
HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\NewKey\","Value"
WshShell.RegWrite "HKEY_CURRENT_USER\NewKey\Param","Value","REG_SZ"
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\Param")
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\")
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\Param"
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\"

RegRead

Синтаксис:

RegRead(<Name>)

Назначение:

Читает из реестра заданный параметр или значение по умолчанию для раздела.

Параметры:

<Name> - строка, наименование параметра или раздела.

Описание:

Если "Name" оканчивается символом "\", метод считывает значение по умолчанию для раздела, в противном случае считывается параметр. Параметр "Name" должен начинаться с одного из корневых ключей:
HKEY_CURRENT_USER - HKCU
HKEY_LOCAL_MACHINE - HKLM
HKEY_CLASSES_ROOT - HKCR
HKEY_USERS - HKEY_USERS
HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\NewKey\","Value"
WshShell.RegWrite "HKEY_CURRENT_USER\NewKey\Param","Value","REG_SZ"
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\Param")
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\")
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\Param"
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\"

RegWrite

Синтаксис:

RegWrite(<Name>,<Value>,<Type>)

Назначение:

Записываает в реестр заданный параметр или раздел.

Параметры:

<Name> - строка, наименование параметра или раздела.
<Value> - значение параметра или значение для раздела по умолчанию.
<Type> - необязательный, тип значения. Возможные значения: "REG_SZ", "REG_EXPAND_SZ", "REG_DWORD", "REG_BINARY". Если указано "REG_SZ" или "REG_EXPAND_SZ", параметр "Type" конвертируется в строку, если указано "REG_DWORD", параметр "Type" конвертируется в целое число, если указано "REG_BINARY", параметр "Type" должен быть целым числом.

Описание:

Если "Name" оканчивается символом "\", метод записывает раздел, в противном случае записывается параметр. Параметр "Name" должен начинаться с одного из корневых ключей:
HKEY_CURRENT_USER - HKCU
HKEY_LOCAL_MACHINE - HKLM
HKEY_CLASSES_ROOT - HKCR
HKEY_USERS - HKEY_USERS
HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\NewKey\","Value"
WshShell.RegWrite "HKEY_CURRENT_USER\NewKey\Param","Value","REG_SZ"
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\Param")
MsgBox WshShell.RegRead("HKEY_CURRENT_USER\NewKey\")
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\Param"
WshShell.RegDelete "HKEY_CURRENT_USER\NewKey\"

LogEvent

Синтаксис:

LogEvent(<Type>,<Message>,<Target>)

Назначение:

Протоколирует событие в журнале WindowsNT или в файле WSH.log. Возвращает True в случае успеха и False в противном случае.

Параметры:

<Type> - число, тип сообщения. Возможные значения:
0 - SUCCESS
1 - ERROR
2 - WARNING
4 - INFORMATION
8 - AUDIT_SUCCESS
16 - AUDIT_FAILURE
<Message> - строка, текст сообщения.
<Target> - строка, название системы, в которой протоколируется событие (по умолчанию - локальная система), может задаваться только в Windows NT/2000/XP.

Описание:

В Windows NT/200/XP события записываются в системном журнале, а в Windows 9x - в файле WSH.log, который находится в каталоге пользователей.

Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.LogEvent 4, "Test event!"

CreateShortcut

Синтаксис:

CreateShortcut(<Path>)

Назначение:

Возвращает объект "WshShortcut" или "WshURLShortcut", указывающий на ярлык .lnk или .url.

Параметры:

<Path> - строка, полный путь к создаваемому или изменяемому файлу ярлыка.

Описание:

Без комментариев.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshURLShortcut = WshShell.CreateShortcut("C:\Microsoft.url")
WshURLShortcut.TargetPath = "http://microsoft.com"
WshURLShortcut.Save

Объект WshScriptExec

Создание объекта

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")

Свойства

ExitCode

Синтаксис:

ExitCode

Возвращаемое значение:

Код выхода, устанавливаемый дочерней задачей при завершении выполнения.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
'запуск "xcopy" с заведомо ошибочными параметрами
Set WshExec = WshShell.Exec("xcopy abc123")
'пауза для запуска приложения
WScript.Sleep 2000
'чтение кода выхода
MsgBox WshExec.ExitCode

ProcessID

Синтаксис:

ProcessID

Возвращаемое значение:

Идентификатор запущенного процесса (PID).

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
WshShell.AppActivate WshExec.ProcessID
WshShell.SendKeys "0123456789"

Status

Синтаксис:

Status

Возвращаемое значение:

Состояние запущенного процесса. Возможные значения:
0 - приложение запущено.
1 - приложение завершено.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
MsgBox "status - " & WshExec.Status
WshExec.Terminate
WScript.Sleep 2000
MsgBox "status - " & WshExec.Status

StdOut

Синтаксис:

StdOut

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному выходному потоку запущенной задачи.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("nslookup")
Set InStream = WshExec.StdIn
InStream.WriteLine "help"
InStream.WriteLine "exit"
Set OutStream = WshExec.StdOut
Str = vbNullString
While Not OutStream.AtEndOfStream
    Str = Str & Trim(OutStream.ReadLine()) & vbCrLf
Wend
MsgBox Str

StdIn

Синтаксис:

StdIn

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному входному потоку запущенной задачи.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("nslookup")
Set InStream = WshExec.StdIn
InStream.WriteLine "help"
InStream.WriteLine "exit"
Set OutStream = WshExec.StdOut
Str = vbNullString
While Not OutStream.AtEndOfStream
    Str = Str & Trim(OutStream.ReadLine()) & vbCrLf
Wend
MsgBox Str

StdErr

Синтаксис:

StdErr

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному потоку ошибок запущенной задачи.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("nslookup")
Set InStream = WshExec.StdIn
InStream.WriteLine "abc123"
InStream.WriteLine "exit"
Set OutStream = WshExec.StdErr
Str = vbNullString
While Not OutStream.AtEndOfStream
    Str = Str & Trim(OutStream.ReadLine()) & vbCrLf
Wend
MsgBox Str

Методы

Terminate

Синтаксис:

Terminate

Назначение:

Пытается закрыть приложение, посылая ему сообщение WM_CLOSE. Если это не срабатывает, задача завершается принудительно.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
MsgBox "status - " & WshExec.Status
WshExec.Terminate
WScript.Sleep 2000
MsgBox "status - " & WshExec.Status

Объект WshShortcut

Создание объекта

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")

Свойства

Arguments

Синтаксис:

Arguments

Возвращаемое значение:

Строка, параметры командной строки программы, запускаемой ярлыком.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

Description

Синтаксис:

Description

Возвращаемое значение:

Строка, описание в поле "Комментарий" ("Comment") в свойствах ярлыка.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

FullName

Синтаксис:

FullName

Возвращаемое значение:

Строка, полный путь к файлу ярлыка.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

Hotkey

Синтаксис:

Hotkey

Возвращаемое значение:

Строка, содержащая названия горячих клавиш, разделённые знаком "+".

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

IconLocation

Синтаксис:

IconLocation

Возвращаемое значение:

Строка, содержащая расположение иконки для ярлыка в формате "путь к файлу, индекс иконки". Индексы иконок начинаются с нуля.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

TargetPath

Синтаксис:

TargetPath

Возвращаемое значение:

Строка, содержащая путь к исполняемому файлу.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

WindowStyle

Синтаксис:

WindowStyle

Возвращаемое значение:

Число, определяющее вид окна запускаемого приложения. Возможные значения:
1 - Стандартное окно.
3 - Максимизированное окно.
7 - Минимизированное окно.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

WorkingDirectory

Синтаксис:

WorkingDirectory

Возвращаемое значение:

Строка, путь к рабочему каталогу ярлыка.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

Методы

Save

Синтаксис:

Save

Назначение:

Сохраняет ярлык.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshShortcut = WshShell.CreateShortcut("C:\Notepad.lnk")
WshShortcut.Arguments = "C:\autoexec.bat"
WshShortcut.Description = "Пробный ярлык"
WshShortcut.HotKey = "CTRL+ALT+F"
WshShortcut.IconLocation = "shell32.dll, 5"
WshShortcut.TargetPath = "notepad.exe"
WshShortcut.WindowStyle = 1
WshShortcut.WorkingDirectory = "C:\"
MsgBox WshShortcut.FullName
WshShortcut.Save

Объект WshUrlShortcut

Создание объекта

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshUrlShortcut = WshShell.CreateShortcut("C:\Microsoft.url")

Свойства

FullName

Синтаксис:

FullName

Возвращаемое значение:

Строка, полный путь к файлу ярлыка.

Замечание:

Только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshUrlShortcut = WshShell.CreateShortcut("C:\Microsoft.url")
WshUrlShortcut.TargetPath = "http://microsoft.com"
MsgBox WshUrlShortcut.FullName
WshUrlShortcut.Save

TargetPath

Синтаксис:

TargetPath

Возвращаемое значение:

Строка, содержащая путь к документу Интернет.

Замечание:

Чтение и запись.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshUrlShortcut = WshShell.CreateShortcut("C:\Microsoft.url")
WshUrlShortcut.TargetPath = "http://microsoft.com"
MsgBox WshUrlShortcut.FullName
WshUrlShortcut.Save

Методы

Save

Синтаксис:

Save

Назначение:

Сохраняет ярлык.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshUrlShortcut = WshShell.CreateShortcut("C:\Microsoft.url")
WshUrlShortcut.TargetPath = "http://microsoft.com"
MsgBox WshUrlShortcut.FullName
WshUrlShortcut.Save

Объект Dictionary

Создание объекта

Пример:

Set Dict = CreateObject("Scripting.Dictionary")

Свойства

Count

Синтаксис:

Count

Возвращаемое значение:

Число, количество элементов коллекции.

Замечание:

Только чтение.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
MsgBox Dict.Count


 

Item

Синтаксис:

Item(<Key>)

Возвращаемое значение:

Элемент коллекции, соответствующий заданному ключу.

Замечание:

Чтение и запись.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
Dict.Item(1) = "Один"
MsgBox Dict.Item(1)
MsgBox Dict.Item(2)

Key

Синтаксис:

Key(<Key>)=<NewKey>

Возвращаемое значение:

Устанавливает новое значение ключа в коллекции.

Замечание:

Запись.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add 1, "One"
Dict.Add 2, "Two"
Dict.Key(1) = "Eins"
MsgBox Dict.Item("Eins")
MsgBox Dict.Item(2)

CompareMode

Синтаксис:

CompareMode

Возвращаемое значение:

Устанавливает способ сравнения ключей коллекции. Установка свойства возможна, только если коллекция пуста. Возможные значения:
0 - Binary.
1 - Text.
2 - Database.

Замечание:

Чтение и запись.

Пример:

On Error Resume Next
Set Dict = CreateObject("Scripting.Dictionary")
Dict.CompareMode = 1
Dict.Add "a", "One"
Dict.Add "A", "Two"
If Not Err.Number=0 Then MsgBox "CompareMode = 1" & vbCrLf & Err.Description
Err.Clear
Dict.RemoveAll
Dict.CompareMode = 0
Dict.Add "a", "One"
Dict.Add "A", "Two"
If Not Err.Number=0 Then MsgBox "CompareMode = 0" & vbCrLf & Err.Description

Методы

Add

Синтаксис:

Add(<Key>,<Item>)

Назначение:

Добавляет элемент в коллекцию.

Параметры:

<Key> - ключ.
<Item> - элемент.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"

Exists

Синтаксис:

Exists(<Key>)

Назначение:

Проверяет существование ключа в коллекции. Если да, возвращает True, иначе - False.

Параметры:

<Key> - ключ.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then MsgBox "Ключ существует!"

Remove

Синтаксис:

Remove(<Key>)

Назначение:

Удаляет ключ и его элемент из коллекции. Если такой ключ не существует, возникнет ошибка.

Параметры:

<Key> - ключ.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
If Dict.Exists(1) Then Dict.Remove(1)

RemoveAll

Синтаксис:

RemoveAll

Назначение:

Очищает коллекцию.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Dict.RemoveAll
MsgBox Dict.Count

RemoveAll

Синтаксис:

RemoveAll

Назначение:

Очищает коллекцию.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Dict.RemoveAll
MsgBox Dict.Count

Keys

Синтаксис:

Keys

Назначение:

Возвращает массив ключей коллекции. Позволяет перебрать коллекцию в цикле.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set Dict = CreateObject("Scripting.Dictionary")
Dict.Add "a", "One"
Dict.Add 1, "Two"
Arr = Dict.Keys
For i=0 To Dict.Count-1
    MsgBox Arr(i)
Next

Объект WshNetwork

Создание объекта

Пример:

Set WshNetwork = CreateObject("WScript.Network")

Свойства

ComputerName

Синтаксис:

ComputerName

Возвращаемое значение:

Строка, имя компьютера.

Замечание:

Только чтение.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
MsgBox WshNetwork.ComputerName

UserName

Синтаксис:

UserName

Возвращаемое значение:

Строка, имя пользователя.

Замечание:

Только чтение.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
MsgBox WshNetwork.UserName

UserDomain

Синтаксис:

UserDomain

Возвращаемое значение:

Строка, имя домена.

Замечание:

Только чтение.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
MsgBox WshNetwork.UserDomain

Методы

EnumNetworkDrives

Синтаксис:

EnumNetworkDrives

Назначение:

Возвращает коллекцию сетевых дисков. Нечётные элементы содержат UNC-пути сетевых дисков.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
Set Drives = WshNetwork.EnumNetworkDrives
i = 0
While i <= Drives.Count-1
    MsgBox Drives.Item(i) & " - " & Drives.Item(i+1)
    i = i+2
Wend

EnumPrinterConnections

Синтаксис:

EnumPrinterConnections

Назначение:

Возвращает коллекцию сетевых принтеров. Нечётные элементы содержат сетевые имена принтеров, чётные - названия локальных портов.

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
Set Printers = WshNetwork.EnumPrinterConnections
i = 0
While i <= Printers.Count-1
    MsgBox Printers.Item(i) & " - " & Printers.Item(i+1)
    i = i+2
Wend

MapNetworkDrive

Синтаксис:

MapNetworkDrive(<LocalName>,<RemoteName>,<UpdateProfile>, <User>,<Password>)

Назначение:

Подключает сетевой диск.

Параметры:

<LocalName> - строка, локальное имя диска.
<RemoteName> - строка, имя сетевого ресурса.
<UpdateProfile> - необязательный, число (булево). Если указано True, создаваемое сетевое подключение будет сохранено в профиле пользователя.
<User> - необязательный, строка. Имя пользователя, если сетевой диск подключается от пользователя, отличного от текущего.
<Password> - необязательный, строка. Пароль пользователя, если сетевой диск подключается от пользователя, отличного от текущего.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "Z:", "\\SERVER\Programs"

RemoveNetworkDrive

Синтаксис:

RemoveNetworkDrive(<Name>,<Force>,<UpdateProfile>)

Назначение:

Отключает сетевой диск.

Параметры:

<Name> - строка, локальное имя диска (или сетевое имя, если ресурсу не сопоставлена никакая буква).
<Force> - необязательный, число (булево). Если указано True, отключение будет произведено вне зависимости от того, используется ресурс в настоящий момент или нет.
<UpdateProfile> - необязательный, число (булево). Если указано True, сетевое подключение будет удалено из профиля пользователя.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.RemoveNetworkDrive "Z:"

AddPrinterConnection

Синтаксис:

AddPrinterConnection(<LocalName>,<RemoteName>,<UpdateProfile>, <User>,<Password>)

Назначение:

Подключает сетевой принтер.

Параметры:

<LocalName> - строка, локальное имя принтера.
<RemoteName> - строка, сетевое имя принтера.
<UpdateProfile> - необязательный, число (булево). Если указано True, подключение будет сохранено в профиле пользователя.
<User> - необязательный, строка. Имя пользователя, если сетевой принтер подключается от пользователя, отличного от текущего.
<Password> - необязательный, строка. Пароль пользователя, если сетевой принтер подключается от пользователя, отличного от текущего.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddPrinterConnection "LPT1", "\\Server\Print1"

AddWindowsPrinterConnection

Синтаксис:

AddWindowsPrinterConnection(<PrinterPath>,<DriverName>,<Port>)

Назначение:

Подключает сетевой принтер без явного указания локального порта.

Параметры:

<PrinterPath> - строка, сетевое имя принтера.
<DriverName> - строка, имя уже установленного драйвера принтера. В Windows NT/2000/XP этот параметр игнорируется.
<Port> - необязательный, строка. Порт принтера (по умолчанию - "LPT1"). В Windows NT/2000/XP этот параметр игнорируется.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\Server\Print1"

RemovePrinterConnection

Синтаксис:

RemovePrinterConnection(<Name>,<Force>,<UpdateProfile>)

Назначение:

Отключает сетевой принтер.

Параметры:

<Name> - строка, локальное имя принтера (порт), если сетевому ресурсу явно сопоставлен локальный порт. Иначе - сетевое имя принтера. Выбор зависит от того, каким образом осуществлялось подключение принтера.
<Force> - необязательный, число (булево). Если указано True, отключение будет произведено вне зависимости от того, используется ресурс в настоящий момент или нет. По умолчанию - False.
<UpdateProfile> - необязательный, число (булево). Если указано True, подключение будет удалено из профиля пользователя. По умолчанию - False.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.RemovePrinterConnection "\\Server\Print1"

SetDefaultPrinter

Синтаксис:

SetDefaultPrinter(<Name>)

Назначение:

Делает сетевой принтер принтером по умолчанию.

Параметры:

<Name> - строка, сетевое имя принтера.

Описание:

Без комментариев.

Пример:

Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.SetDefaultPrinter "\\Server\Print1"

Объект WScript

Создание объекта

Объект WScript можно использовать в сценарии WSH сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создаётся сервером сценариев (CScript.exe или WScript.exe) автоматически.

Свойства

Timeout

Синтаксис:

Timeout

Возвращаемое значение:

Время в секундах, по истечении которого скрипт будет автоматически остановлен.

Замечание:

Чтение и запись.

Пример:

WScript.Timeout = 5
While 0=0 'Процессор будет загружен на 100% бесконечным циклом в течение 5 секунд
Wend

Name

Синтаксис:

Name

Возвращаемое значение:

Наименование сервера сценариев.

Замечание:

Только чтение.

Пример:

MsgBox WScript.Name

FullName

Синтаксис:

FullName

Возвращаемое значение:

Полный путь к исполняемому файлу сервера сценариев.

Замечание:

Только чтение.

Пример:

MsgBox WScript.FullName

Path

Синтаксис:

Path

Возвращаемое значение:

Полный путь к каталогу исполняемого файла сервера сценариев.

Замечание:

Только чтение.

Пример:

MsgBox WScript.Path

Version

Синтаксис:

Version

Возвращаемое значение:

Версия сервера сценариев.

Замечание:

Только чтение.

Пример:

MsgBox WScript.Version

BuildVersion

Синтаксис:

BuildVersion

Возвращаемое значение:

Номер сборки сервера сценариев.

Замечание:

Только чтение.

Пример:

MsgBox WScript.BuildVersion

ScriptName

Синтаксис:

ScriptName

Возвращаемое значение:

Имя запущенного файла скрипта.

Замечание:

Только чтение.

Пример:

MsgBox WScript.ScriptName

ScriptFullName

Синтаксис:

ScriptFullName

Возвращаемое значение:

Полный путь к запущенному файлу скрипта.

Замечание:

Только чтение.

Пример:

MsgBox WScript.ScriptFullName

StdIn

Синтаксис:

StdIn

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному входному потоку. Доступен, если скрипт запущен с помощью CScript.exe.

Замечание:

Только чтение.

Пример:

WScript.StdOut.Write "Input: "
s = WScript.StdIn.ReadLine
MsgBox s

StdOut

Синтаксис:

StdOut

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному выходному потоку. Доступен, если скрипт запущен с помощью CScript.exe.

Замечание:

Только чтение.

Пример:

WScript.StdOut.Write "Input: "
s = WScript.StdIn.ReadLine
MsgBox s

StdErr

Синтаксис:

StdErr

Возвращаемое значение:

Объект "TextStream", соответствующий стандартному потоку ошибок. Доступен, если скрипт запущен с помощью CScript.exe.

Замечание:

Только чтение.

Пример:

WScript.StdErr.Write "Hello, StdErr!"

Arguments

Синтаксис:

Arguments

Возвращаемое значение:

Объект "WshArguments" - коллекция параметров, с которыми был запущен скрипт. Объект "WshArguments" имеет ряд свойств и методов, позволяющих, например, обращаться к именным и безымянным параметрам скрипта по отдельности, и т.д.

Замечание:

Только чтение.
Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.

Пример:

For Each Argument In WScript.Arguments
    MsgBox Argument
Next

Interactive

Синтаксис:

Interactive

Возвращаемое значение:

Число (булево). Режим запуска скрипта - запрещён (False) или разрешён (True) диалог с пользователем. Это свойство можно как задавать внутри скрипта, так и проверять с его помощью, не был ли скрипт запущен в пакетном режиме (параметр "//B" сервера сценариев).

Замечание:

Чтение и запись.

Пример:

MsgBox WScript.Interactive
WScript.Interactive = False
MsgBox WScript.Interactive 'Это сообщение НЕ будет выведено

Методы

Sleep

Синтаксис:

Sleep(<Time>)

Назначение:

Приостановка исполнения скрипта на указанное количество миллисекунд.

Параметры:

<Time> - число, количество миллисекунд.

Описание:

Без комментариев.

Пример:

MsgBox Now
WScript.Sleep 1000
MsgBox Now

Quit

Синтаксис:

Quit(<ErrorCode>)

Назначение:

Завершение исполнения скрипта с указанным кодом возврата.

Параметры:

<ErrorCode> - необязательный, число, код возврата приложения.

Описание:

Без комментариев.

Пример:

WScript.Quit 1
MsgBox "Message!" ' Этот оператор никогда не будет исполнен.

Echo

Синтаксис:

Echo(<Arg1>,<Arg2>,<Arg3>,...)

Назначение:

Вывод сообщения в окно MessageBox (если скрипт был запущен с помощью WScript.exe) или на консоль (если скрипт был запущен с помощью CScript.exe).

Параметры:

<Arg1>,<Arg2>,<Arg3>,... - необязательные параметры. При выводе аргументы будут разделены пробелами. В случае использования CScript.exe вывод будет завершён символом новой строки. Если аргументы не заданы, будет выведена пустая строка.

Описание:

Без комментариев.

Пример:

WScript.Echo "раз", 25

CreateObject

Синтаксис:

CreateObject(<ProgID>,<Prefix>)

Назначение:

Создаёт программный объект автоматизации.

Параметры:

<ProgID> - строка, программный идентификатор объекта (ProgID).
<Prefix> - необязательный, строка. Префикс функций-обработчиков событий. Если объект предоставляет интерфейсы для связи с событиями, после создания объекта с указанием этого параметра в сценарии можно обрабатывать события, возникающие в этом объекте. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

Описание:

При использовании "обычной" функции VBScript "CreateObject" организовать обработку событий нельзя.

Пример:

Set Network = WScript.CreateObject("WScript.Network")
MsgBox Network.ComputerName

ConnectObject

Синтаксис:

ConnectObject(<ProgID>,<Prefix>)

Назначение:

Устанавливает соединение с объектом автоматизации для обработки его событий.

Параметры:

<ProgID> - строка, программный идентификатор объекта (ProgID).
<Prefix> - строка. Префикс функций-обработчиков событий. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

Описание:

Объект должен предоставлять интерфейс к своим событиям.

DisconnectObject

Синтаксис:

DisconnectObject(<Obj>)

Назначение:

Разрывает соединение с объектом автоматизации (созданное ранее для обработки его событий).

Параметры:

<Obj> - объект.

Описание:

Если соединения с объектом не было установлено ранее, метод не производит никаких действий.

GetObject

Синтаксис:

GetObject(<Pathname>,<ProgID>,<Prefix>)

Назначение:

Создаёт программный объект автоматизации.

Параметры:

<Pathname> - строка, полный путь к файлу, содержащему объект.
<ProgID> - необязательный, строка. Программный идентификатор объекта (ProgID).
<Prefix> - необязательный, строка. Префикс функций-обработчиков событий. Если объект предоставляет интерфейсы для связи с событиями, после создания объекта с указанием этого параметра в сценарии можно обрабатывать события, возникающие в этом объекте. Когда объект сообщает о возникновении события, сервер сценариев вызывает соответствующую функцию. Например, если был указан префикс "Evt_", а событие называется "OnBegin", будет вызвана функция "Evt_OnBegin", которая должна быть описана в сценарии.

Описание:

Метод используется, если создаваемый объект уже существует в памяти или создаётся из файла. Если создаваемый объект поддерживает создание только одного экземпляра, будет создан только один экземпляр объекта, независимо от того, сколько раз будет вызван метод GetObject.

Объект WScript

Объект WshArguments

Создание объекта

Пример:

Set WshArg = WScript.Arguments

Свойства

Item

Синтаксис:

Item(<Index>)

Возвращаемое значение:

Значение n-ного элемента коллекции (нумерация начинается с нуля).

Замечание:

Только чтение.
Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1
где "Path" - путь к файлу скрипта.

Пример:

Set WshArg = WScript.Arguments
If WshArg.Count>0 Then
    MsgBox WshArg.Item(0)
    MsgBox WshArg(0)
End If

Length

Синтаксис:

Length

Возвращаемое значение:

Число элементов коллекции (количество аргументов, переданных скрипту).

Замечание:

Только чтение.
Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.

Пример:

MsgBox WScript.Arguments.Length

Named

Синтаксис:

Named

Возвращаемое значение:

Коллекция именных параметров, переданных скрипту.

Замечание:

Только чтение.
Приведённый ниже пример можно запустить например так:
wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
где "Path" - путь к файлу скрипта.

Пример:

Set objNamed = WScript.Arguments.Named
If objNamed.Exists("Name") Then WScript.Echo "Имя: " & objNamed.Item("Name")
If objNamed.Exists("Computer") Then WScript.Echo "Компьютер: " & objNamed("Computer")
WScript.Echo "Число именных параметров: " & objNamed.Length
WScript.Echo "Число именных параметров: " & objNamed.Count

Unnamed

Синтаксис:

Unnamed

Возвращаемое значение:

Коллекция безымянных параметров, переданных скрипту.

Замечание:

Только чтение.
Приведённый ниже пример можно запустить например так:
wscript.exe Path /Name:"Vasya Pupkin" param2 /Computer:Server01 param4
где "Path" - путь к файлу скрипта.

Пример:

Set objUnnamed = WScript.Arguments.Unnamed
If objUnnamed.Count>0 Then WScript.Echo "Первый безымянный параметр: " & objUnnamed.Item(0)
If objUnnamed.Length>1 Then WScript.Echo "Второй безымянный параметр: " & objUnnamed(1)

Методы

Count

Синтаксис:

Count

Назначение:

Возвращает число элементов коллекции (количество аргументов, переданных скрипту).

Параметры:

Нет.

Описание:

Приведённый ниже пример можно запустить например так:
wscript.exe Path /param1 /param2
где "Path" - путь к файлу скрипта.

Пример:

MsgBox WScript.Arguments.Count

ShowUsage

Синтаксис:

ShowUsage

Назначение:

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

Параметры:

Нет.

Описание:

Без комментариев.

Пример:

WScript.Arguments.ShowUsage

Константы VBScript

Константы для диалоговых окон

Константа Значение Описание
vbOKOnly 0

Выводится кнопка ОК.

vbOKCancel 1

Выводятся кнопки ОК и Отмена (Cancel).

vbAbortRetryIgnore 2

Выводятся кнопки Стоп (Abort), Повтор (Retry) и Пропустить (Ignore).

vbYesNoCancel 3

Выводятся кнопки Да (Yes), Нет (No) и Отмена (Cancel).

vbYesNo 4

Выводятся кнопки Да (Yes) и Нет (No).

vbRetryCancel 5

Выводятся кнопки Повтор (Retry) и Отмена (Cancel).

vbCritical 16

Выводится значок Stop Mark.

vbQuestion 32

Выводится значок Question Mark.

vbExclamation 48

Выводится значок Exclamation Mark.

vbInformation 64

Выводится значок Information Mark.

vbDefaultButton1 0

По умолчанию в окне выбирается первая кнопка.

vbDefaultButton2 256

По умолчанию в окне выбирается вторая кнопка.

vbDefaultButton3 512

По умолчанию в окне выбирается третья кнопка.

vbDefaultButton4 768

По умолчанию в окне выбирается четвёртая кнопка.

vbApplicationModal 0

Диалоговое окно выводится в модальном режиме.

vbSystemModal 4096

Диалоговое окно выводится в модальном режиме и располагается сверху всех запускаемых приложений.

vbOK 1

Нажата кнопка ОК.

vbCancel 2

Нажата кнопка Отмена (Cancel).

vbAbort 3

Нажата кнопка Стоп (Abort).

vbRetry 4

Нажата кнопка Повтор (Retry).

vbIgnore 5

Нажата кнопка Пропустить (Ignore).

vbYes 6

Нажата кнопка Да (Yes).

vbNo 7

Нажата кнопка Нет (No).

Строковые константы

Константа Значение Описание
vbCr Chr(13)

Возврат каретки.

VbCrLf Chr(13) & Chr(10)

Возврат каретки и перевод строки.

vbFormFeed Chr(12)

Перевод страницы.

vbLf Chr(10)

Перевод строки.

vbNewLine Chr(13) & Chr(10) or Chr(10)

Определяемый платформой (подходящий) символ новой строки.

vbNullChar Chr(0)

Символ с нулевым кодом.

vbNullString Нулевая строка

Не тоже самое, что строка нулевой длины ("").

vbTab Chr(9)

Символ табуляции.

vbVerticalTab Chr(11)

Символ вертикальной табуляции.

Константы даты и времени

Константа Значение Описание
vbSunday 1

Воскресенье

vbMonday 2

Понедельник

vbTuesday 3

Вторник

vbWednesday 4

Среда

vbThursday 5

Четверг

vbFriday 6

Пятница

vbSaturday 7

Суббота

vbUseSystemDayOfWeek 0

Использовать для определения первого дня недели региональные настройки системы.

vbFirstJan1 1

Первой неделей в году считается та, в которой было 1 января.

vbFirstFourDays 2

Первой неделей в году считается та, в которой было по крайней мере четыре дня нового года.

vbFirstFullWeek 3

Первой неделей в году считается первая полная неделя.

vbGeneralDate 0

Дата и время выводятся в формате, определяемом региональными настройками системы.

vbLongDate 1

Выводить дату, используя полный формат.

vbShortDate 2

Выводить дату, используя краткий формат.

vbLongTime 3

Выводить время, используя полный формат.

vbShortTime 4

Выводить время, используя краткий формат.

Прочие константы

Константа Значение Описание
vbBlack &h00

Чёрный цвет

vbRed &hFF

Красный цвет

vbGreen &hFF00

Зелёный цвет

vbYellow &hFFFF

Жёлтый цвет

vbBlue &hFF0000

Синий цвет

vbMagenta &hFF00FF

Фиолетовый цвет

vbCyan &hFFFF00

Бирюзовый (голубой) цвет

vbWhite &hFFFFFF

Белый цвет

vbBinaryCompare 0

Определяет двоичное сравнение.

vbTextCompare 1

Определяет текстовое сравнение.

vbObjectError -2147221504

Определяет минимальное значение для номеров ошибок, задаваемых пользователем.

vbUseDefault -2

Использовать значения по умолчанию из региональных настроек системы.

vbTrue -1

Логическое значение "Истина".

vbFalse 0

Логическое значение "Ложь".

vbEmpty 0

Переменная не инициализирована.

vbNull 1

Переменная не содержит корректных данных.

vbInteger 2

Переменная имеет подтип Integer.

vbLong 3

Переменная имеет подтип Long.

vbSingle 4

Переменная имеет подтип Single.

vbDouble 5

Переменная имеет подтип Double.

vbCurrency 6

Переменная имеет подтип Currency.

vbDate 7

Переменная имеет подтип Date.

vbString 8

Переменная имеет подтип String.

vbObject 9

Переменная имеет подтип Object.

vbError 10

Переменная имеет подтип Error.

vbBoolean 11

Переменная имеет подтип Boolean.

vbVariant 12

Переменная имеет подтип Variant (только для массивов переменных типа Variant).

vbDataObject 13

Объект доступа к данным.

vbDecimal 14

Переменная имеет подтип Decimal.

vbByte 17

Переменная имеет подтип Byte.

vbArray 8192

Переменная является массивом.

Функции VBScript

Математические функции

Функция Описание
Abs(x)

Возвращает абсолютное значение числа x.

Int(x)

Возвращает целую часть числа x. Если х - отрицательное число, функция вернёт ближайшее целое число, меньшее, чем х.

Fix(x)

Возвращает целую часть числа x. Если х - отрицательное число, функция вернёт ближайшее целое число, большее, чем х.

Sgn(x)

Знаковая функция числа x. Возвращает 1 для чисел больше нуля, 0 для нуля и -1 для чисел меньше нуля.

Round(x, [numdecimal])

Возвращает результат округления числа x с точностью до numdecimal знаков после запятой.

Rnd([x])

Возвращает случайное число от 0 до 1. Необязательный аргумент является начальным значением для генерации случайных чисел.

Sqr(x)

Возвращает квадратный корень числа x.

Sin(x)

Возвращает синус числа x.

Cos(x)

Возвращает косинус числа x.

Tan(x)

Возвращает тангенс числа x.

Atn(x)

Возвращает арктангенс числа x.

Exp(x)

Экспоненциальная функция, возвращает число е в степени x.

Log(x)

Возвращает натуральный логарифм числа x.

Строковые функции

Функция Описание
Asc(str)

Возвращает ASCII-код первого символа в строке str.

Chr(code)

Возвращает символ с ASCII-кодом code.

InStr([start,] str1, str2[, compare])

Возвращает индекс символа, с которого начинается первое вхождение подстроки str2 в строку str1. Параметр start задаёт номер символа, с которого следует начинать поиск (если не задан, то с начала строки). Поиск производится слева направо. Параметр compare задаёт режим сравнения при обработке строк (0 - двоичное сравнение, 1 - текстовое сравнение).

InStrRev(str1, str2[, start[, compare]])

То же самое, что InStr, но поиск производится справа налево, т.е возвращается номер последнего символа, с которого начинается вхождение подстроки str2 в строку str1.

Join(list[, delim])

Возвращает строку, полученную в результате конкатенации подстрок, содержащихся в массиве list. Параметр delim задаёт символ разделителя (по умолчанию - пробел).

Split(expr[, delim[, count[, compare]]])

Возвращает массив строк, полученных в результате разбиения строки expr на подстроки. Параметр delim задаёт символ разделителя (по умолчанию - пробел). Параметр count определяет число подстрок (по умолчанию - все). Параметр compare задаёт режим сравнения при обработке строк (0 - двоичное сравнение, 1 - текстовое сравнение).

LCase(str)

Возвращает строку, в которой все символы преобразованы к нижнему регистру.

UCase(str)

Возвращает строку, в которой все символы преобразованы к верхнему регистру.

Left(str, len)

Возвращает len символов с начала строки str.

Right(str, len)

Возвращает len символов с конца строки str.

Mid(str, start[, len]))

Возвращает из строки str подстроку, которая начинается с позиции start и имеет длину len. Если параметр len не указан, возвращаются все символы до конца строки.

Len(str)

Возвращает число символов в строке str.

LTrim(str)

Возвращает строку, в которой удалены все начальные пробелы.

RTrim(str)

Возвращает строку, в которой удалены все конечные пробелы.

Trim(str)

Возвращает строку, в которой удалены все начальные и конечные пробелы.

Replace(expr, find, replacewith[, start[, count[, compare]]])

Возвращает строку, которая получается из строки expr путём замен входящих в неё подстрок find на подстроки replacewith. Параметр start определяет начальную позицию поиска. Параметр count определяет число замен (по умолчанию - все). Параметр compare задаёт режим сравнения при обработке строк (0 - двоичное сравнение, 1 - текстовое сравнение).

Space(x)

Возвращает строку, состоящую из х пробелов.

String(number, char)

Возвращает строку, состоящую из number символов char.

StrComp(str1, str2[, compare])

Сравнивает строки. Если str1<str2, возвращается -1, если str1=str2, возвращается 0, если str1>str2, возвращается 1. Параметр compare задаёт режим сравнения при обработке строк (0 - двоичное сравнение, 1 - текстовое сравнение).

StrReverse(str)

Возвращает строку, полученную из строки str путём изменения порядка символов в строке на обратный.

FormatCurrency(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])

Возвращает строку, отформатированную в денежном формате. Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

FormatDateTime(date[, namedFormat])

Возвращает строку, отформатированную в формате даты-времени. Параметр date задаёт значение для форматирования. Параметр namedFormat задаёт способ форматирования (см. описание констант форматов даты и времени в разделе "Константы даты и времени").

FormatNumber(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])

Возвращает строку, отформатированную в числовом формате. Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

FormatPercent(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])

Возвращает строку, отформатированную в процентном формате (аргумент умножается на 100). Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

Функции для работы с датой и временем

Функция Описание
Date

Возвращает текущую системную дату.

Now

Возвращает текущие системные дату и время в виде, соответствующем региональным настройкам Windows.

Time

Возвращает текущее системное время.

Timer

Возвращает количество секунд, прошедших с полуночи.

IsDate(expr)

Возвращает true, если параметр expr задаёт корректную дату, и false в противном случае.

Year(date)

Выделяет год из даты, заданной параметром date, и возвращает это целое число.

Month(date)

Выделяет номер месяца из даты, заданной параметром date, и возвращает целое число от 1 до 12.

Day(date)

Выделяет номер дня месяца из даты, заданной параметром date, и возвращает целое число от 1 до 31.

Weekday(date[, firstdayofweek])

Возвращает целое число - день недели для даты, заданной параметром date. Параметр firstdayofweek - константа, показывающая, какой из дней недели считать первым.

Hour(time)

Выделяет номер часа из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 23.

Minute(time)

Выделяет количество минут из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 59.

Second(time)

Выделяет количество секунд из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 59.

DateValue(date)

Возвращает переменную подтипа Date, которая соответствует дате, заданной символьным параметром date.

TimeValue(time)

Возвращает переменную подтипа Date, которая соответствует времени, заданному символьным параметром time.

DateSerial(year, month, day)

Возвращает переменную подтипа Date, которая соответствует указанным году (параметр year), месяцу (параметр month) и дню (параметр day).

TimeSerial(hour, minute, second)

Возвращает переменную подтипа Date, которая соответствует указанным часу (параметр hour), минуте (параметр minute) и секунде (параметр second).

MonthName(month[, abbr])

Возвращает наименование для месяца с номером month. Если параметр abbr равен true, наименование месяца представляется в виде аббревиатуры, если false - в полном виде.

WeekdayName(weekday[, abbr[, firstdayofweek]])

Возвращает наименование дня недели с порядковым номером weekday. Если параметр abbr равен true, наименование дня недели представляется в виде аббревиатуры, если false - в полном виде. Параметр firstdayofweek - константа, показывающая, какой из дней недели считать первым.

DateAdd(interval, number, date)

Возвращает дату, отстоящую от даты date на number интервалов, заданных параметром interval, который может принимать значения:
"yyyy" - год
"q" - квартал
"m" - месяц
"y" - день года
"d" - день
"w" - день недели
"ww" - неделя года
"h" - час
"n" - минута
"s" - секунда

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

Возвращает количество интервалов interval между датами date1 и date2. Возможные значения параметра interval - те же, что и в функции DateAdd. Параметр firstdayofweek - константа, показывающая, какой из дней недели считать первым. Параметр firstweekofyear - константа, показывающая, какую неделю считать первой в году.

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Возвращает ту часть даты, которая соответствует параметру interval. Возможные значения параметра interval - те же, что и в функции DateAdd. Параметр firstdayofweek - константа, показывающая, какой из дней недели считать первым. Параметр firstweekofyear - константа, показывающая, какую неделю считать первой в году.

Прочие функции

Функция Описание
Array(arglist)

Возвращает массив, составленный из элементов списка arglist. Элементы в списке arglist должны быть отделены друг от друга запятыми.

LBound(arrayname[, dimension])

Возвращает наименьшее значение, которое которое может принимать индекс в массиве arrayname в размерности dimension (по умолчанию параметр dimension равен 1).

UBound(arrayname[, dimension])

Возвращает наибольшее значение, которое которое может принимать индекс в массиве arrayname в размерности dimension (по умолчанию параметр dimension равен 1).

Filter(inputStrings, value[, include[, compare]])

Возвращает массив, созданный путём фильтрации переданного массива по заданным критериям. Параметр inputStrings - исходный одномерный массив строк. Параметр value - строка, критерий отбора. Параметр include - если задано true, в результат попадут только строки, которые содержат подстроку value, если задано false - в результат попадут только строки, которые не содержат подстроку value. Параметр compare - тип сравнения (0 - двоичный, 1 - текстовый).

IsArray(varname)

Возвращает true, если параметр varname является массивом, и false в противном случае.

IsDate(varname)

Возвращает true, если параметр varname задаёт корректную дату, и false в противном случае.

IsEmpty(varname)

Возвращает true, если переменная varname объявлена, но не инициализирована, и false в противном случае.

IsNull(varname)

Возвращает true, если переменная varname не содеоржит никаких корректных данных, и false в противном случае.

IsNumeric(varname)

Возвращает true, если переменная varname может быть рассмотрена в качестве числа, и false в противном случае.

IsObject(varname)

Возвращает true, если переменная varname является указателем на внешний объект, и false в противном случае.

VarType(varname)

Возвращает числовое значение, соответствующее подтипу переменной varname (см. описание констант подтипов данных в разделе "Прочие константы").

TypeName(varname)

Возвращает строку, содержащую тип переменной varname.

Hex(number)

Возвращает шестнадцатеричное представление (в символьном виде) числа number.

Oct(number)

Возвращает восьмеричное представление (в символьном виде) числа number.

MsgBox(prompt[, buttons][, title][, helpfile, context])

Выводит на экран диалоговое окно с сообщением и различными кнопками и возвращает результат нажатия на одну из кнопок. Возможные варианты возврата - см. описание констант нажатий на кнопки в разделе "Константы для диалоговых окон". Параметр prompt задаёт текст сообщения. Числовой параметр buttons определяет состав кнопок, значок, кнопку по умолчанию и режим модальности окна - см. описание констант в разделе "Константы для диалоговых окон" (значения необходимых констант для передачи в параметр buttons нужно просто сложить). Параметр title задаёт текст заголовка диалогового окна. Параметр helpfile задаёт путь к файлу помощи. Параметр context задаёт идентификатор содержания помощи.

InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])

Выводит на экран диалоговое окно со полем ввода и кнопками ОК, Отмена и возвращает введённую в этом окне символьную строку. Параметр prompt задаёт текст сообщения, которое выводится рядом с полем ввода. Параметр title задаёт текст заголовка диалогового окна. Параметр default задаёт значение по умолчанию для поля ввода. Параметры xpos и ypos определяют координаты левого верхнего угла окна. Параметр helpfile задаёт путь к файлу помощи. Параметр context задаёт идентификатор содержания помощи.

CreateObject(servername.typename[, location])

Создаёт экземпляр объекта автоматизации и возвращает ссылку на него. Здесь servername - имя приложения, являющегося сервером автоматизации, typename - тип или класс создаваемого объекта, location - сетевое имя компьютера, на котором будет создан объект.

GetObject([pathname][, classname])

Возвращает ссылку на объект класса classname, который хранится в отдельном файле, путь к которому задаётся параметром pathname.

CBool(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных boolean (true или false). Например, CBool(3=2) или CBool("-1").

CByte(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных byte (целое число от 0 до 255). Например, CByte(256) вызовет ошибку переполнения.

CCur(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных currency (специальный числовой формат для денежных величин).

CDate(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных date/time (даты от 1 января 100 года до 31 декабря 9999 года).

CDbl(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных double (числа с плавающей точкой двойной точности).

CInt(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных integer (целые числа в диапазоне от -32768 до 32768).

CLng(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных long (целые числа в диапазоне от -2 147 483 648 до 2 147 483 647).

CSng(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных single (числа с плавающей точкой одинарной точности).

CStr(expr)

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных string.

Eval(expr)

Вычисляет выражение и возвращает результат. Например, Eval(3=2).

GetLocale

Возвращает текущее значение (ID) настроек локализации (набор установок языка, региона, раскладки клавиатуры и т.д.). Возможные значения - см. MSDN статью "Locale ID (LCID) Chart".

SetLocale(lcid)

Возвращает текущее значение (ID) настроек локализации (набор установок языка, региона, раскладки клавиатуры и т.д.) и устанавливает новое. Возможные значения - см. MSDN статью "Locale ID (LCID) Chart".

ScriptEngine

Возвращает название текущего языка, например, "VBScript".

ScriptEngineBuildVersion

Возвращает номер сборки текущей среды исполнения скриптов.

ScriptEngineMajorVersion

Возвращает номер версии текущей среды исполнения скриптов.

ScriptEngineMinorVersion

Возвращает номер подверсии текущей среды исполнения скриптов.

RGB(red, green, blue)

Возвращает целочисленное значение, соответствующее цвету RGB, заданному с помощью трёх составляющих - красного, зелёного и синего цветов числами от 0 до 255.

www.4its.ru