Перейти на главную страничку сайта (список статей, файлы для скачивания)
Описание объектов Windows Script Host, их свойств и методов
Содержание:
1. Создание объектов 2. Свойства 3. Методы 3.1. Метод ExecWB 3.2. Метод QueryStatusWB 3.3. Метод ShowBrowserBar 3.4. Метод Navigate 3.5. Метод Refresh2 4. События 5. Примеры кода
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>
Применение некоторых свойств - см. Примеры кода.
Свойство | Описание | Доступно |
---|---|---|
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 |
Применение некоторых методов - см. Примеры кода.
Метод | Описание | Доступно |
---|---|---|
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 |
Выполняет команду и возвращает статус выполнения. Доступен в InternetExplorer и WebBrowser.
Параметры:
Некоторые возможные значения параметра "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 'немедленная печать
Возвращает статус указанной команды. Доступен в InternetExplorer.
Параметры:
Возможные значения флагов в возвращаемом значении (возвращаемое значение - сумма флагов):
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
Показывает или скрывает указанную панель обозревателя. Доступен в InternetExplorer.
Параметры:
Некоторые возможные значения параметра "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
Осуществляет навигацию к указанному ресурсу (инициирует операцию открытия документа). Доступен в InternetExplorer и WebBrowser.
Параметры:
Возможные значения флагов параметра "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
Аналогичен методу Refresh, но имеет единственный необязательный параметр, который задаёт "уровень" обновления. Заголовок "pragma:nocashe" запрещает серверу возвращать кэшированную копию документа, обеспечивая самую свежую информацию, однако этот заголовок может послужить причиной проблем на некоторых серверах.
Возможные значения параметра:
0 | REFRESH_NORMAL. Обновить без отправки HTTP-заголовка "pragma:nocashe" на сервер. |
1 | REFRESH_IFEXPIRED. Обновить, если истёк срок давности страницы. |
2 | REFRESH_CONTINUE. Только для внутреннего использования. Не используется. |
3 | REFRESH_COMPLETELY. Обновить с отправкой HTTP-заголовка "pragma:nocashe" на сервер. Только для HTTP URL'ов. |
Аргументы событий - см. Примеры кода.
Событие | Описание | Доступно |
---|---|---|
OnQuit | Перед завершением работы обозревателя. | InternetExplorer |
OnFullScreen | При изменении свойства FullScreen. | InternetExplorer |
OnMenuBar | При изменении свойства MenuBar. | InternetExplorer |
OnStatusBar | При изменении свойства StatusBar. | InternetExplorer |
OnToolBar | При изменении свойства OnToolBar. | InternetExplorer |
OnVisible | При изменении свойства Visible. | InternetExplorer |
PrintTemplateInstantiation | При вызове диалога печати или предварительного просмотра. | InternetExplorer, WebBrowser |
PrintTemplateTeardown | При закрытии диалога печати или предварительного просмотра. | 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 |
Свойства 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
Составление - Людоговский Александр
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.