Використання webbrowser і mshtml в vb

У цій статті піде мова про використання лежить в основі Internet Explorer елемента управління WebBrowser, і бібліотеки Microsoft HTML Object Library (MSHTML). Має сенс розповідати про них саме в зв'язці, так як головна функція WebBrowser - відображати HTML документи, а MSHTML описує і управляє структурою цих документів.

Області застосування

Результат використання WebBrowser для створення інтерфейсу можна оцінити на прикладі vb-програми PharmGuide надбудови Excel DataExtract

Включення елемента управління WebBrowser і бібліотеки MSHTML до складу проекту

Для підключення браузера необхідно відкрити меню Project / Components і вибрати компонент 'Microsoft Internet Controls' відповідний файлу shdocvw.dll. У VBA проектах він називається 'Oбoзpeвaтeль вeб-cтpaніц (Microsoft)'.

Якщо ви маєте намір використовувати в програмі можливості динамічного html - необхідно підключити бібліотеку MSHTML. Меню Project / References і вибрати компонент 'Microsoft HTML Object Library' відповідний файлу MSHTML.TLB.

Обидва файли входять до складу всіх версій Windows і істотних проблем з перенесенням коду бути не повинно.

Способи завантаження вмісту

Елемент управління WebBrowser призначений для відображення html документів. Існує кілька способів визначити вміст цього документа.

метод Navigate

Залежно від джерела документа використовуючи різні протоколи:

Є й інші протоколи: HTTPS, FTP, ALP, MAILTO, MK. Останній використовується в файлах довідки (chm).

Ось найпростіший приклад використання браузера.

  • Створіть новий проект і збережіть його
  • Створіть файл sample.htm в директорії проекту c текстом "вітання"
  • Підключіть елемент управління WebBrowser, як показано вище і розмістіть його на формі
  • в коді форми додати:

Private Sub Form_Load ()
WebBrowser1.Navigate App.Path "\ Sample.htm"
End Sub

Ось приклад завантаження даних з ресурсів:

Private Sub Form_Load ()
WebBrowser1.Navigate "res: //shdoclc.dll/about.dlg"
End Sub

Використання протоколу 'about'

Private Sub Form_Load ()
WebBrowser1.Navigate "about:вітання"
End Sub

Дані, що завантажуються з ресурсів повинні знаходитися в розділі 'HTML'

Існує і нестандартний спосіб завантаження сторінки при старті програми. Для цього необхідно відкрити файл frmMain.frm і знайти в розділі 'Begin SHDocVwCtl.WebBrowser WebBrowser1' рядок 'Location = ""'. Це шлях до документа, за замовчуванням. Якщо його замінити на 'Location = "about:вітання" ', То слово' привіт 'буде автоматично відображатися в браузері, навіть в режимі конструктора.

Завантаження html коду з оперативний пам'яті

Спосіб заснований на використанні динамічного html, тому до складу проекту необхідно включити бібліотеку mshtml. Для початку необхідно створити новий об'єкт Document, а потім скористатися методом Write.

Private Sub Form_Load ()
Dim mStr As String
Dim mDoc As MSHTML.IHTMLDocument

Формування html документа шляхом додавання нових елементів

Джерела інформації

Знайти ці документи можна через пошукові системи

У наступній статті мова піде про перехоплення і обробки подій в html документах.

Схожі статті