
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