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

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

Фактически, благодаря встроенным ссылкам в приложениях, использующих VBA, вы можете вводить и выводить веб-страницы через свои собственные приложения. Если вы следили за нашими предыдущими статьями о сценариях, то вы знаете, что мы любим сценарии VB и VBA, как моя статья о максимизации окон

Пол на самообновляющихся графиках

и Сайкат на рассылку массовых писем

,

Используя приведенный ниже подход, вы можете использовать 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
 '----------The HTML CODE GOES FROM HERE AND DOWN----------
 HTML = "HTML Report Page" & _
 "" & _
 "The Following Are Results From Your Daily Calculation" & _
 "

" & _

 "Daily Production: " & Sheet1.Cells(1, 1) & "

" & _

 "Daily Scrap: " & Sheet1.Cells(1, 2) & "

"

 '----------The HTML CODE GOES HERE AND ABOVE---------
 On Error GoTo error_handler
 Set objIE = CreateObject("InternetExplorer.Application")
 With objIE
 .Navigate "about:blank"
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState  4: DoEvents: Loop
 .Visible = True
 .Document.Write HTML
 End With
 Set objIE = Nothing
 Exit Sub
error_handler:
 MsgBox ("Unexpected Error, I'm quitting.")
 objIE.Quit
 Set objIE = Nothing
End Sub

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

сделать свой собственный интернет-браузер

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

Sub Button1_Click()
 Dim objIE As Object
 Dim HTML As String
 On Error GoTo error_handler
 Set objIE = CreateObject("InternetExplorer.Application")
 With objIE
 .Navigate "http://www.google.com"
 Do While .Busy: DoEvents: Loop
 Do While .ReadyState  4: DoEvents: Loop
 .Visible = True
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "My Own Google Results!This is an Edited Version of the Google Page!" & HTML & ""
 End With
 Set objIE = Nothing
Exit Sub
error_handler:
 MsgBox ("Unexpected Error, I'm quitting.")
 objIE.Quit
 Set objIE = Nothing
End Sub

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

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

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

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

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

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

Ссылка на основную публикацию
Adblock
detector