Для багатьох клієнтських додатків буває корисно.
Для багатьох клієнтських додатків буває корисно організувати доступ в Internet і роботу з Web-документами безпосередньо з самої програми, без перемикання в зовнішній Web-браузер. Такий режим можна досить просто реалізувати за допомогою WebBrowser - елемента управління ActiveX, який входить до складу Internet Explorer починаючи з версії 3.0. Його можна використовувати в будь-яких інструментальних засобах, що підтримують елементи управління ActiveX, в тому числі Visual Basic і MS Office / VBA.
WebBrowser коректно відображає Web-сторінки, що містять:
Як знайти WebBrowser?
Ми почнемо розмову з цього, здавалося б, простого питання, так як дана операція виконується по-різному в різних інструментах.
В MS Office 97 (на прикладі Word), щоб помістити WebBrowser на панель елементів управління Toolbox в середовищі VBA, необхідна наявність хоча б однієї форми (вона створюється командою Insert | UserForm). Далі виберіть команду Tools | Additional Controls, щоб з'явився список додаткових елементів управління, зареєстрованих на вашому комп'ютері. (При роботі в середовищі документа для цього потрібно вибрати команду View | Toolbars | Conrtol Toolbox і натиснути кнопку More Controls на панелі Control Toolbox.) Далі відзначте в списку Available Controls елемент управління Microsoft WebBrowser Control і клацніть OK. На панелі документів з'явиться значок нового інструменту. Тепер його звичайним чином можна помістити на форму (рис. 1).
Короткий опис властивостей, методів і подій WebBrowser можна подивитися у вікні Object Browser. Однак спочатку необхідно встановити посилання на бібліотеку об'єктів Microsoft Internet Controls. Це робиться у вікні Available References середовища VBA (команда Tools | References). Тепер командою View | Object Browser відкрийте однойменне вікно, в списку Project / Library виділіть SHDocVw, в списку Classes вкажіть WebBrowser. Далі, переміщаючись за списком Member Of, ви можете бачити короткий опис компонентів WebBrowser в нижній секції вікна (рис. 2).
Але майте на увазі - насправді не все з них доступні для роботи (див. Нижче).
Примітка. Якщо ви не знайдете бібліотеку Microsoft Internet Controls в списку зареєстрованих ActiveX-компонентів, спробуйте зареєструвати її вручну. Для цього у вікні Components | Controls натисніть кнопку Browse і відкрийте бібліотеку SHDOCVW.DLL, яка повинна знаходиться в системному каталозі Windows \ System \.
Не все те золото що блищить.
Щоб зрозуміти реальні можливості використання WebBrowser, слід мати на увазі, що IE 4.0 включає два ActiveX-об'єкта: власне WebBrowser Object, а також InternetExplorer Object. Елемент управління WebBrowser, який може бути інтегрований безпосередньо в форму VB, функціонує на базі однойменного об'єкта, а об'єкт InternetExplorer (фактично це і є IE 4.0) доступний тільки через механізм OLE Automation.
При цьому частина властивостей, наприклад Resizable (рис. 2), наведена тільки у вікні Object Browser, і їх використання в програмі викликає помилку. Застосування ж властивостей, представлених у вікні Properties (рис. 3), але реально недоступних, помилки не викликає, однак і не тягне за собою жодних функціональних наслідків. Зокрема, це відноситься до властивостей MenuBar, FullScreen, StatusBar, ToolBar і подій OnMenuBar, OnFullScreen, OnStatusBar, OnToolBar.
Робота з WebBrowser
Для знайомства з роботою елемента управління WebBrowser створимо невеликий додаток. У верхній частині форми розмістимо текстове поле txtLinks, а на всьому останньому просторі - WebBrowser. Напишемо такий код для події txtLinks_KeyPress:
Переконайтеся самі, що ваш додаток може пересуватися по Web-сторінок в Internet (рис. 6), переглядати папки на локальному диску (рис. 7), а також працювати з документами MS Office 97 (рис. 8). Правда, в останньому випадку вам недоступна панель інструментів і меню програми, але ви можете написати власний програмний код для виконання будь-яких операцій або скористатися гарячими клавішами команд (наприклад, Ctrl + S для збереження відредагованого документа Word).
Далі ви можете вдосконалити цей приклад на власний розсуд - припустимо, створити панель інструментів, що використовують методи GoHome, GoBack, GoForward, Refresh і GoSearch. Тут відкривається велике поле для творчості.