+7 (4822) 75-00-45 +7 (920) 686-72-02

Windows Script Host - объект InternetExplorer и WebBrowser

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

Internet Explorer включает два ActiveX-объекта: WebBrowser Object и InternetExplorer Object. Элемент управления WebBrowser может быть интегрирован непосредственно в форму VB или размещён на Web-странице, а объект InternetExplorer доступен только через механизм OLE Automation. Функциональность WebBrowser меньше по сравнению с функциональностью InternetExplorer. Упрощенно говоря, WebBrowser — это собственно окно просмотра документа в браузере, а InternetExplorer — это весь браузер, включая меню, панели инструментов, строку состояния и прочее. Оба объекта находятся в библиотеке "Microsoft Internet Controls" (shdocvw.dll в каталоге system32). Также может пригодиться библиотека "Microsoft HTML Object Library" (mshtml.dll там же) - это именно та среда, с которой оперируют скрипты на языках JavaScript и VBScript на Web-страницах. Примечание: приведённое ниже описание свойств, методов и событий не является до конца исчерпывающим (исчерпывающее описание можно найти в MSDN) и предназначено, в первую очередь, для работы с обозревателем как с OLE-Automation сервером из различных скриптовых сред или Visual Basic.

Пример создания OLE-объекта InternetExplorer:

Set objIE = CreateObject("InternetExplorer.Application")

Пример размещения ActivX-объекта WebBrowser на Web-странице:

<OBJECT ID="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID= "clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>

2. Свойства

Применение некоторых свойств. 

Свойство Описание Доступно
Application Возвращает сам объект. Только чтение. InternetExplorer, WebBrowser
Visible Управляет видимостью окна обозревателя (булево). Чтение и запись. По умолчанию - False. InternetExplorer, WebBrowser
AddressBar Управляет отображением адресной строки обозревателя (булево). Чтение и запись. По умолчанию - True. InternetExplorer
MenuBar Управляет отображением строки меню обозревателя (булево). Чтение и запись. По умолчанию - True. InternetExplorer
ToolBar Управляет отображением панелей инструментов обозревателя (булево). Чтение и запись. По умолчанию - True. InternetExplorer
StatusBar Управляет отображением строки состояния обозревателя (булево). Чтение и запись. По умолчанию - True. InternetExplorer
FullScreen Управляет отображением окна обозревателя в полный экран (булево). Чтение и запись. По умолчанию - False. InternetExplorer
TheaterMode Управляет отображением окна обозревателя в режиме театра (булево). Чтение и запись. По умолчанию - False. Примечание: переход в режим театра и обратно интерактивно осуществляется с помощью команды меню "Вид" - "Во весь экран" или клавишей "F11". InternetExplorer
Resizable Управляет возможностью изменения размеров окна обозревателя (булево). Чтение и запись. По умолчанию - True. InternetExplorer
Silent Управляет возможностью выдачи обозревателем диалоговых окон о критических ошибках и сообщений безопасности (булево). Чтение и запись. По умолчанию - False (диалоговые окна не запрещены). InternetExplorer, WebBrowser
Offline Управляет переводом обозревателя в режим Offline (булево). Чтение и запись. По умолчанию - False. В режиме Offline обозреватель принудительно отдаёт предпочтение чтению HTML-страниц из локального кэша. InternetExplorer, WebBrowser
RegisterAsBrowser Управляет регистрацией объекта как "top-level browser" (булево). Чтение и запись. По умолчанию - False. Архитектура Microsoft Internet Explorer допускает наличие нескольких экземпляров объекта WebBrowser. Например, веб-страница с фреймами может содержать объект WebBrowser для каждого фрейма. Термин "top-level" означает объект WebBrowser, который является родительским для всех других объектов WebBrowser. InternetExplorer, WebBrowser
Parent Возвращает ссылку на родительский объект. Только чтение. InternetExplorer, WebBrowser
Container Возвращает ссылку на объект-контейнер. Только чтение. InternetExplorer, WebBrowser
TopLevelContainer Возвращает признак того, является ли объект "top-level" контейнером (булево). Только чтение. InternetExplorer, WebBrowser
RegisterAsDropTarget Управляет регистрацией объекта как принимающего данные при операциях "drag-and-drop" (булево). Чтение и запись. По умолчанию - False. InternetExplorer, WebBrowser
StatusText Устанавливает или возвращает текст строки состояния обозревателя. Чтение и запись. InternetExplorer
Height Управляет высотой окна обозревателя (в пикселах). Чтение и запись. InternetExplorer, WebBrowser
Width Управляет шириной окна обозревателя (в пикселах). Чтение и запись. InternetExplorer, WebBrowser
Top Управляет положением верхнего края окна обозревателя. Чтение и запись. InternetExplorer, WebBrowser
Left Управляет положением левого края окна обозревателя. Чтение и запись. InternetExplorer, WebBrowser
Name Возвращает имя объекта, в котором содержится элемент управления WebBrowser. Только чтение. InternetExplorer
FullName Возвращает полный путь к исполняемому файлу Microsoft Internet Explorer. Только чтение. InternetExplorer
Path Возвращает полный путь к каталогу исполняемомого файла Microsoft Internet Explorer. Только чтение. InternetExplorer
Type Возвращает тип объекта, содержащегося в документе (строка). Только чтение. InternetExplorer, WebBrowser
LocationName Возвращает имя отображаемого в данный момент ресурса (строка). Только чтение. Если отображается HTML-страница, имя ресурса - заголовок этой страницы. Если отображается папка или файл, имя ресурса - полный путь в UNC-формате. InternetExplorer, WebBrowser
LocationURL Возвращает URL отображаемого в данный момент ресурса (строка). Только чтение. Если отображается папка или файл, URL ресурса - полный путь в UNC-формате. InternetExplorer, WebBrowser
HWND Возвращает handle главного окна Microsoft Internet Explorer (целое число, Long). Только чтение. InternetExplorer
Busy Возвращает булево значение, сигнализирующее о том, занят ли объект операцией навигации или скачивания. Только чтение. Если объект занят, можно применить метод Stop для прерывания операции. InternetExplorer, WebBrowser
ReadyState Возвращает значение, сигнализирующее состояние готовности объекта. Только чтение. Возможные значения: 0 - не инициализирован, 1 - загрузка, 2 - загрузка завершена, 3 - доступны не все данные (это то состояние, когда браузер позволяет просматривать страницу в интерактивном режиме, хотя загружены ещё не все компоненты; начиная с этого момента HTML-код вполне пригоден для обработки), 4 - готово. InternetExplorer, WebBrowser
Document Возвращает объект документа (объект, функционально эквивалентный объекту документа, используемому в скриптах на Web-страницах). Только чтение. InternetExplorer, WebBrowser

3. Методы

Применение некоторых методов. 

Метод Описание Доступно
Stop Отменяет любую незаконченную операцию навигации или скачивания и останавливает любые динамические элементы страницы, такие, как фоновую музыку и анимацию. InternetExplorer, WebBrowser
Quit Закрывает объект. InternetExplorer
ExecWB Выполняет команду и возвращает статус выполнения. InternetExplorer, WebBrowser
QueryStatusWB Возвращает статус указанной команды. InternetExplorer
ShowBrowserBar Показывает или скрывает указанную панель обозревателя. InternetExplorer
ClientToWindow Конвертирует клиентские координаты точки (от левого верхнего угла клиентской области окна) в координаты окна (от левого верхнего угла окна). Первый параметр - целое число, х-координата точки в клиентской области, после вызова ClientToWindow содержит х-координату точки в координатах окна. Второй параметр - аналогично, y-координата. InternetExplorer
GoBack Осуществляет навигацию на один шаг назад по истории. InternetExplorer, WebBrowser
GoForward Осуществляет навигацию на один шаг вперёд по истории. InternetExplorer, WebBrowser
GoHome Осуществляет навигацию на домашнюю страницу. InternetExplorer, WebBrowser
GoSearch Осуществляет навигацию на страницу поиска. InternetExplorer, WebBrowser
Navigate Осуществляет навигацию к указанному ресурсу.  InternetExplorer, WebBrowser
Navigate2 Аналогичен методу Navigate, но параметр PostData имеет тип массива SAFEARRAY. Кроме того, ресурс может быть представлен в виде PIDL (Pointer to an Item Identifier List) в пространстве имён оболочки Windows. InternetExplorer, WebBrowser
Refresh Обновляет (перезагружает) страницу. Чтобы избежать обновления ресурса из дискового кэша браузера, следует использовать соответствующие параметры при предшествующих вызовах методов Navigate или Navigate2. InternetExplorer, WebBrowser
Refresh2 Аналогичен методу Refresh, но имеет единственный необязательный параметр, который задаёт "уровень" обновления. InternetExplorer, WebBrowser

3.1. Метод ExecWB

Выполняет команду и возвращает статус выполнения. Доступен в InternetExplorer и WebBrowser.Параметры:

  1. CmdID - идентификатор команды.
  2. CmdExecOpt - опции команды.
  3. PvaIn - необязательный, Variant, входные аргументы команды.
  4. PvaOut - необязательный, Variant, выходные аргументы команды.

Некоторые возможные значения параметра "CmdID" (подробнее - см. в MSDN описание "OLECMDID enumeration"): 

1 Меню "Файл" - "Открыть...".
4 Меню "Файл" - "Сохранить как...".
6 Меню "Файл" - "Печать...".
7 Меню "Файл" - "Предварительный просмотр...".
8 Меню "Файл" - "Параметры страницы...".

Возможные значения параметра "CmdExecOpt": 

0 Команда исполняется так, как принято по умолчанию.
1 Перед выполнением выводится окно диалога или дополнительных настроек.
2 Не запрашивать ввод пользователя (не задается никаких вопросов).
3 Выводится справка по запрошенному действию, но сама команда не выполняется.

Пример:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 objIE.ExecWB 6, 1 'выдача диалога печати 'objIE.ExecWB 6, 2 'немедленная печать

3.2. Метод QueryStatusWB

Возвращает статус указанной команды. Доступен в InternetExplorer. 

Параметры: CmdID - идентификатор команды.

Возможные значения флагов в возвращаемом значении (возвращаемое значение - сумма флагов): 

1 Команда поддерживается.
2 Команда доступна и разрешена.
4 Команда является переключателем и в данный момент включена.
8 Команда зарезервирована для будущего использования.

Пример:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 If objIE.QueryStatusWB(6) = 2+1 Then objIE.ExecWB 6, 1 'выдача диалога печати End If

3.3. Метод ShowBrowserBar

Показывает или скрывает указанную панель обозревателя. Доступен в InternetExplorer.

Параметры:

  • vClsID - строка, идентификатор класса панели.
  • bShow - необязательный, булево. False - скрыть панель, True - показать.

Некоторые возможные значения параметра "vClsID": 

Search {30D02401-6A81-11D0-8274-00C04FD5AE38}
Favorites {EFA24E61-B078-11D0-89E4-00C04FC9E26E}
History {EFA24E62-B078-11D0-89E4-00C04FC9E26E}
Folders {EFA24E64-B078-11d0-89E4-00C04FC9E26E}

Пример:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 objIE.ShowBrowserBar "{30D02401-6A81-11D0-8274-00C04FD5AE38}", True

3.4. Метод Navigate

Осуществляет навигацию к указанному ресурсу (инициирует операцию открытия документа). Доступен в InternetExplorer и WebBrowser. 

Параметры:

  1. Url - строка, определяющая URL или полный путь к файлу.
  2. Flags - необязательный. Набор флагов, определяющий, нужно ли добавлять ресурс в историю, записывать/читать ресурс в/из кэша, отображать ресурс в новом окне.
  3. TargetFrameName - необязательный. Строка, имя фрейма HTML, в котором следует отобразить ресурс. Если такого фрейма не существует, откроется новое окно.
  4. PostData - необязательный. Позволяет передать на Web-сервер данные, полученные в результате заполнения формы, если этот сервер требует HTTP - транзакции POST. Если этот параметр не определён, метод осуществляет HTTP GET транзакцию. Если указанный Url - не HTTPURL, параметр игнорируется.
  5. Headers - необязательный. Значение, определяющее дополнительные HTTP заголовки для отправки на сервер. Эти заголовки добавляются к заголовкам Microsoft Internet Explorer по умолчанию. Заголовки могут определять тип данных, код состояния и т.п. Если указанный Url - не HTTPURL, параметр игнорируется.

Возможные значения флагов параметра "Flags": 

1 navOpenInNewWindow. Открыть ресурс в новом окне.
2 navNoHistory. Не добавлять ресурс в историю просмотренных. Текущая страница добавляется в историю.
4 navNoReadFromCache. Не загружать страницу из кэша.
8 navNoWriteToCache. Не сохранять страницу в кэше.
16 navAllowAutosearch. Если навигация не удалась, осуществляется попытка навигации к корневому домену (.com, .edu и т.д.). Если и эта попытка не удалась, запускается поиск.
32 navBrowserBar. Пытается использовать для навигации текущую панель браузера, если это возможно.
64 navHyperlink. Если навигация не удалась, следуя гиперссылке, ресурс будет связан с псевдонимом с использованием флага BINDF_HYPERLINK.

Возможные значения параметра "TargetFrameName" (кроме собственно имени конкретного фрейма):

_BLANK Загружать ресурс в новое безымянное окно.
_SELF Загружать документ в тот же фрейм, в котором находится ссылающийся на него документ.
_PARENT Загружать документ в непосредственный родительский фрейм этого фрейма в наборе фреймов FRAMESET. Это значение эквивалентно _SELF, если текущий фрейм не имеет родительского фрейма.
_TOP Загружать документ в полное окно (закрывая все остальные фреймы). Это значение эквивалентно _SELF, если у текущего фрейма нет родительского фрейма.

Пример:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1

3.5. Метод Refresh2

Аналогичен методу Refresh, но имеет единственный необязательный параметр, который задаёт "уровень" обновления. Заголовок "pragma:nocashe" запрещает серверу возвращать кэшированную копию документа, обеспечивая самую свежую информацию, однако этот заголовок может послужить причиной проблем на некоторых серверах. Возможные значения параметра: 

0 REFRESH_NORMAL. Обновить без отправки HTTP-заголовка "pragma:nocashe" на сервер.
1 REFRESH_IFEXPIRED. Обновить, если истёк срок давности страницы.
2 REFRESH_CONTINUE. Только для внутреннего использования. Не используется.
3 REFRESH_COMPLETELY. Обновить с отправкой HTTP-заголовка "pragma:nocashe" на сервер. Только для HTTP URL'ов.

4. События

Аргументы событий. 

Событие Описание Доступно
OnQuit Перед завершением работы обозревателя. InternetExplorer
OnFullScreen При изменении свойства FullScreen. InternetExplorer
OnMenuBar При изменении свойства MenuBar. InternetExplorer
OnStatusBar При изменении свойства StatusBar. InternetExplorer
OnToolBar При изменении свойства OnToolBar. InternetExplorer
OnVisible При изменении свойства Visible. InternetExplorer
PrintTemplate Instantiation При вызове диалога печати или предварительного просмотра. InternetExplorer, WebBrowser
PrintTemplate Teardown При закрытии диалога печати или предварительного просмотра. InternetExplorer, WebBrowser
BeforeNavigate2 Перед началом навигации. InternetExplorer, WebBrowser
DownloadBegin Когда начинается операция навигации. InternetExplorer, WebBrowser
NavigateComplete2 Когда документ объявляется найденным, его URL попадает в стек навигации и становится доступным для проверки. InternetExplorer, WebBrowser
DownloadComplete Когда навигация завершена, остановлена или не удалась. Возникает неоднократно: перед событием NavigateComplete2 и после него. Наступление события DownloadComplete вслед за событием NavigateComplete2 соответствует переходу в состояние READYSTATE_INTERACTIVE (свойство ReadyState = 3). InternetExplorer, WebBrowser
DocumentComplete Когда какой-либо документ полностью загружен и в строке состояния браузера появляется слово "Готово". При открытии страницы с фреймами событие может возникнуть многократно: в процессе разметки с пустым URL для каждого фрейма, затем с непустым URL для каждого фрейма, и наконец, для всего документа с URL, указанным при вызове метода Navigate. Поэтому в обработчике события следует проверять URL (который передаётся туда как аргумент). InternetExplorer, WebBrowser
NavigateError Когда во время навигации происходит ошибка. Событие происходит перед тем, как обозреватель отобразит страницу ошибки. InternetExplorer, WebBrowser
CommandStateChange Когда изменяется состояние доступности команды. InternetExplorer, WebBrowser
NewWindow2 Когда создаётся новое окно, например, при открытии ссылки в новом окне. Возможна отмена навигации. InternetExplorer, WebBrowser
StatusTextChange Когда изменяется текст в строке состояния. InternetExplorer, WebBrowser
TitleChange Когда изменяется заголовок документа. InternetExplorer, WebBrowser

5. Примеры кода

Свойства AddressBar и MenuBar:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.AddressBar = False objIE.MenuBar = False objIE.Visible = 1

Свойства ToolBar, StatusBar и Resizable:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.ToolBar = False objIE.StatusBar = False objIE.Resizable = False objIE.Visible = 1

Свойство FullScreen:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.FullScreen = True objIE.Visible = 1

Свойство TheaterMode:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.TheaterMode = True objIE.Visible = 1

Свойство StatusText:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 objIE.Document.Write objIE.StatusText objIE.StatusText = "ТЕКСТ СТРОКИ СОСТОЯНИЯ"

Свойства Height, Width, Top и Left:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Height = 200 objIE.Width = 300 objIE.Top = 0 objIE.Left = 0 objIE.Visible = 1

Свойства Name, FullName, Path, type, LocationName и LocationURL:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Document.Write "Name = """ & objIE.Name & """<br>" objIE.Document.Write "FullName = """ & objIE.FullName & """<br>" objIE.Document.Write "Path = """ & objIE.Path & """<br>" objIE.Document.Write "Type = """ & objIE.Type & """<br>" objIE.Document.Write "LocationName = """ & objIE.LocationName & """<br>" objIE.Document.Write "LocationURL = """ & objIE.LocationURL & """<br>" objIE.Visible = 1

Свойство Busy и метод Stop:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "qwerty" If objIE.Busy Then objIE.Stop End If objIE.Visible = 1

Свойство HWND:

On Error Resume Next Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 Set objShellApp = CreateObject("Shell.Application") Set objFolder = objShellApp.BrowseForFolder(objIE.HWND, "Выбор папки", 0, "C:\") objIE.Document.Write objFolder.Self.Path If Err.Number <> 0 Then objIE.Document.Write "Папка не выбрана!" End If

Свойство Document:

Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Document.Write "Hello, Internet Explorer!" objIE.Visible = 1

Свойство ReadyState:

Set objIE = CreateObject("InternetExplorer.Application") MsgBox "ReadyState = " & objIE.ReadyState objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend MsgBox "ReadyState = " & objIE.ReadyState objIE.Visible = 1

Управление заголовком окна, отключение контекстного меню:

Set WshShell = CreateObject("WScript.Shell") WshShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Window Title", "Заголовок окна IE" Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Document.Write "<title>Заголовок отчёта</title>" objIE.Document.Write "<body oncontextmenu=""return false""></body>" objIE.ToolBar = False objIE.StatusBar = False objIE.Visible = 1 WshShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\Main\Window Title"

Пример обработки событий изменения свойств объекта:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 objIE.FullScreen = False 'сработает событие OnFullScreen objIE.MenuBar = True 'сработает событие OnMenuBar objIE.StatusBar = True 'сработает событие OnStatusBar objIE.ToolBar = True 'сработает событие OnToolBar 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() MsgBox "OnQuit event!" WScript.Quit End Sub
'***
Sub IE_OnFullScreen(ByVal FullScreen) MsgBox "OnFullScreen event!" End Sub
'***
Sub IE_OnMenuBar(ByVal MenuBar) MsgBox "OnMenuBar event!" End Sub
'***
Sub IE_OnStatusBar(ByVal StatusBar) MsgBox "OnStatusBar event!" End Sub
'***
Sub IE_OnToolBar(ByVal ToolBar) MsgBox "OnToolBar event!" End Sub
'***
Sub IE_OnVisible(ByVal Visible) MsgBox "OnVisible event!" End Sub

Пример обработки событий печати:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() MsgBox "OnQuit event!" WScript.Quit End Sub
'***
Sub IE_PrintTemplateInstantiation(ByVal pDisp) pDisp.Document.Write "PrintTemplateInstantiation event!>br>" End Sub 
'***
Sub IE_PrintTemplateTeardown(ByVal pDisp) pDisp.Document.Write "PrintTemplateTeardown event!>br>" End Sub

Пример обработки событий навигации:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() WScript.Quit End Sub
'***
Sub IE_BeforeNavigate2(ByVal pDisp, ByRef url, ByRef Flags, ByRef TargetFrameName, _ ByRef PostData, ByRef Headers, ByRef Cancel) 'принудительная навигация на "about:blank" If url <> "about:blank" Then pDisp.Stop Cancel = True pDisp.Navigate "about:blank" End If End Sub
'***
Sub IE_NavigateComplete2(ByVal pDisp, ByVal URL) MsgBox "NavigateComplete2 event" & vbCrLf & "URL: " & URL End Sub
'***
Sub IE_DocumentComplete(ByVal pDisp, ByVal URL) MsgBox "DocumentComplete event" & vbCrLf & "URL: " & URL End Sub
'***
Sub IE_DownloadComplete() MsgBox "DownloadComplete event" End Sub
'***
Sub IE_DownloadBegin() MsgBox "DownloadBegin event" End Sub

Пример обработки события ошибки навигации:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() WScript.Quit End Sub
'***
Sub IE_NavigateError(ByVal pDisp, ByVal url, ByVal TargetFrameName, _ ByVal StatusCode, ByRef Cancel) MsgBox "NavigateError event" End Sub

Пример обработки события CommandStateChange:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() WScript.Quit End Sub
'***
Sub IE_CommandStateChange(ByVal Command, ByVal Enable) If Command=&hFFFFFFFF Then 'Command=CSC_UPDATECOMMANDS MsgBox "Toolbar button might have changed. Command is enabled = " & Enable Elseif Command=&h00000001 Then 'Command=CSC_NAVIGATEFORWARD MsgBox "Forward button has changed. Command is enabled = " & Enable Elseif Command=&h00000002 Then 'Command=CSC_NAVIGATEBACK MsgBox "Back button has changed. Command is enabled = " & Enable End If End Sub

Пример обработки события NewWindow2:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Document.Write "<A HREF='www.ya.ru'>www.ya.ru</A>" objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() WScript.Quit End Sub
'***
Sub IE_NewWindow2(ByRef ppDisp, ByRef Cancel) MsgBox "Навигация отменена." Cancel = True End Sub

Пример обработки событий StatusTextChange и TitleChange:

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_") objIE.Navigate "about:blank" While objIE.Busy Wscript.Sleep 200 Wend objIE.Visible = 1 'Бесконечное ожидание; скрипт завершится только тогда, 'когда сработает событие OnQuit. While 0=0 WScript.Sleep 1000 Wend
'***
Sub IE_OnQuit() WScript.Quit End Sub
'***
Sub IE_StatusTextChange(ByVal sText) MsgBox "StatusTextChange event!" & vbCrLF & sText End Sub
'***
Sub IE_TitleChange(ByVal sText) MsgBox "TitleChange event!" & vbCrLF & sText End Sub
Мы в соц. сетях: