Как сделать свой собственный базовый интернет-браузер с помощью VBA

  • Michael Cain
  • 0
  • 4179
  • 74
Реклама

Когда вы действительно задумываетесь об этом, интернет-браузер в его простейшей форме на самом деле не так впечатляет приложение. Я имею в виду, да, Интернет удивительный по чьим-либо стандартам. Идея связать так много компьютеров и мобильных устройств в мире в этой огромной сети, это эпично. Но концепция переноса текстового файла со специальным кодом в нем и отображения перенесенного текста на экран компьютера - это на самом деле не имеет большого значения.

Фактически, благодаря встроенным ссылкам в приложениях, использующих VBA, вы можете вводить и выводить веб-страницы через свои собственные приложения. Если вы следили за нашими предыдущими статьями о сценариях, то вы знаете, что мы любим сценарии VB и VBA, как моя статья о максимизации окон 3 способа открытия приложений и Windows, развернутой с помощью VB Script [Windows] 3 способа открытия приложений и Windows, развернутой с помощью VB Скрипт [Windows] Если есть одна вещь, которую я люблю делать, это писать VB-скрипты. Будь то файл сценария Windows или сценарий VBA внутри приложения, сценарии предоставляют возможность добавлять функциональность в приложения… Пол на самообновляющихся диаграммах Как создать самообновляющиеся диаграммы Excel за три простых шага Как создать самообновляющееся приложение Excel Диаграммы в три простых шага Мы покажем вам, как сделать ваши диаграммы Excel самообновления. Просто добавьте новые данные и посмотрите, как они автоматически отображаются на вашем графике. Это быстро и просто. и Saikat об отправке массовых писем. Как отправлять персонализированные массовые письма в Outlook с помощью слияния. Как отправлять персонализированные массовые письма в Outlook с помощью слияния. .

Используя приведенный ниже подход, вы можете использовать Word, Access или Excel для чтения HTML-документов в Интернете, изменения этих документов, а затем вывода всего, что вы хотите, в новом окне браузера..

Может показаться, что это может сделать только опытный программист VBA, но в этой статье я покажу вам, как вы можете сделать это самостоятельно, начиная с базовой процедуры вывода данных из вашего собственного приложения на веб-страницу..

Включение Microsoft Internet Controls

Первым шагом, независимо от того, как вы хотите использовать возможность ввода / вывода собственного HTML-кода через VBA, является включение ссылки на элементы управления Microsoft Internet Controls..

В Excel вы делаете это, нажимая на “разработчик” пункт меню, нажав Режим дизайна, а затем нажмите на “Посмотреть код” кнопка. Это может выглядеть по-разному в старых версиях Excel, но по сути вам нужно найти, где вы можете запустить редактор кода VBA.

В редакторе VBA нажмите на инструменты, а потом Рекомендации.

В окне «Ссылки» прокрутите вниз, пока не увидите “Microsoft Internet Controls“. Установите флажок и затем нажмите “Хорошо“.

Теперь в своем коде VBA вы сможете создавать объекты, которые могут получать информацию из Интернета, и вы можете выводить свои собственные документы HTML, которые пользователь может просматривать в своем браузере..

Ввод и вывод HTML

Первое, что вы хотите здесь сделать, это вывод информации в HTML. Подумайте, сколько вы можете сделать, когда сможете вывести информацию на отлично отформатированную HTML-страницу. Вы можете извлекать данные из электронных таблиц Excel и выводить их в хорошо отформатированном отчете..

Чтобы создать эту функцию, вам нужно вставить командную кнопку на свой лист. Под разработчик меню, нажмите на Режим дизайна, а затем нажмите “Вставить” кнопка. Вы увидите раскрывающийся список элементов управления, которые вы можете добавить на свой лист.

В этом случае нажмите кнопку управления и поместите ее на свой лист. Убедитесь, что на листе (или на любом листе) есть данные, которые вы хотите вывести в отчет при нажатии кнопки. Щелкните левой кнопкой мыши на кнопке, чтобы выбрать ее и нажмите “Посмотреть код“.

Введите следующий код:

Sub Button1_Click ()
 Dim objIE As Object
 Dim HTML As String
 '---------- HTML-код идет отсюда и вниз----------
 HTML = "Страница отчета HTML" & _
 "" & _
 "Ниже приведены результаты вашего ежедневного расчета"& _
 "

"& _

 "Ежедневное производство:" & Sheet1.Cells (1, 1) & "

"& _

 "Ежедневные отходы:" & Sheet1.Cells (1, 2) & "

"

 '---------- HTML-код идет здесь и выше---------
 При ошибке Перейти к error_handler
 Установите objIE = CreateObject ("InternetExplorer.Application")
 С objIE
 .Перейдите "о: пусто"
 Делай пока .Busy: DoEvents: Loop
 Делать пока .ReadyState 4: DoEvents: Loop
 .Visible = True
 .Document.Write HTML
 Конец с
 Установить objIE = ничего
 Exit Sub
error_handler:
 MsgBox («Неожиданная ошибка, я выхожу»)
 objIE.Quit
 Установить objIE = ничего
End Sub

Этот код выводит HTML, который вы определили в этой выходной строке. Как вы можете видеть из моего примера выше, вы можете встраивать данные из любого листа в Excel в вашу строку HTML. Вот итоговый отчет веб-страницы:

Теперь, когда у вас есть работающий вывод HTML, следующий шаг, чтобы ваш скрипт VBA работал практически как веб-браузер, - это чтение HTML-кода с какого-либо веб-сайта, манипулирование данными, а затем вывод его на страницу вывода HTML..

Sub Button1_Click ()
 Dim objIE As Object
 Dim HTML As String
 При ошибке Перейти к error_handler
 Установите objIE = CreateObject ("InternetExplorer.Application")
 С objIE
 .Перейдите "http://www.google.com"
 Делай пока .Busy: DoEvents: Loop
 Делать пока .ReadyState 4: DoEvents: Loop
 .Visible = True
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "Мои собственные результаты Google!

Это отредактированная версия страницы Google!

"& HTML &" "
 Конец с
 Установить objIE = ничего
Exit Sub
error_handler:
 MsgBox («Неожиданная ошибка, я выхожу»)
 objIE.Quit
 Установить objIE = ничего
End Sub

Я использовал объект IE для чтения HTML-кода из Google в текстовую переменную VBA под названием HTML. Затем я поместил свой собственный текст вывода HTML в верхнюю часть страницы, а затем вывел тот же HTML в вывод HTML VBA. Вот как это выглядит:

Это очень простой пример того, на что он способен. Но если вы подумаете об этом, как только вы загрузите HTML-код с веб-страницы в строковую переменную VBA, вы можете искать определенные строки на странице, искать изображения, искать адреса электронной почты телефонных номеров - или вы можете переписать весь текст. введите страницу в новую, отредактированную версию той же страницы в любом формате и с любыми изменениями, которые вам нравятся.

Для этого потребуется немного мастерства в работе со строками - но нет ничего невозможного, как только вы прочитаете в HTML-источнике из Интернета.

Видите ли вы какой-либо потенциал для использования ввода или вывода HTML в ваших собственных приложениях? Можете ли вы придумать какие-нибудь интересные варианты использования этого скрипта? Поделитесь своими мыслями в разделе комментариев ниже.

Изображение предоставлено: Shutterstock




О современных технологиях, просто и доступно.
Ваш гид в мире современных технологий. Узнайте как использовать технологии и гаджеты, которые нас окружают каждый день и научитесь открывать интересные вещи в Интернете.