Объект windows internet explorer

Работа 1С 8.3 с Internet Explorer

Интеграция информационной системы с сторонними приложениями — очень важная и интересная задача. Платформа 1С не осталась в стороне и приложила множество усилий для того, чтобы решения на базе 1С могли уверенно работать с другими продуктами.

Самый популярный вид взаимодействия — интеграция с приложениями MS Windows: Excel, Word, Acces, Outlook, SQL и так далее. Среди этих программ интернет-браузер Internet Explorer — приложение, которое установлено на любой машине с ОС Windows. Рассмотрим на примере взаимодействие платформы 1С с браузером Internet Explorer с помощью COM соединения.

Вход в почту web-страницы из 1С

Для нашего примера напишем небольшую обработку, которая будет подключаться к веб-браузеру, вводить логин и пароль пользователя и нажимать кнопку «войти», а также иметь кнопку выхода из системы.

Первое действие — подключение к приложению, создание com-объекта:

IE = Новый COMОбъект(«InternetExplorer.Application»);

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

После этого с помощью метода Navigate() переходим на необходимую страницу сайта:

Но загрузка веб-страниц не происходит мгновенно, необходимо дождаться полной загрузки документа (статус > 4):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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-странице:

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
Читайте также:  Windows hyper v проброс портов

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, выходные аргументы команды.
Читайте также:  Драйвера для принтера epson l355 для windows

Некоторые возможные значения параметра «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
Favorites
History
Folders

Пример:

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 & «»»
» objIE.Document.Write «FullName = «»» & objIE.FullName & «»»
» objIE.Document.Write «Path = «»» & objIE.Path & «»»
» objIE.Document.Write «Type = «»» & objIE.Type & «»»
» objIE.Document.Write «LocationName = «»» & objIE.LocationName & «»»
» objIE.Document.Write «LocationURL = «»» & objIE.LocationURL & «»»
» 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

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

Читайте также:  Минимальная видеокарта для windows 10
Оцените статью