Обрезать HTML в Excel и заполнить разные ячейки

0

Может кто-нибудь помочь мне разбить HTML-код и заполнить разные столбцы в excel?

Напр. Если мой HTML-код:

<p></p>10-16-2013 22:35<br/>I love pizza! Ordering was a breeze!<p></p>10-16-2013 13:19:46<br />this has time stamps too!<p></p>10-21-2013 11:55<br />This is a test<br />

Как я могу выводить его в виде отдельных столбцов в Excel?

 Column A               Column B
 10-16-2013 22:35       I love pizza! Ordering was a breeze!
 10-16-2013 13:19:46    this has time stamps too!
 10-21-2013 11:55       This is a test

Будем очень благодарны, если кто-то может мне помочь!

  • 1
    посмотрите на методы InStr () и Replace (). Вопросы о коде должны демонстрировать минимальное понимание решаемой проблемы. Попробуйте две функции, которые я упомянул, и вернитесь с кодом.
Теги:
excel

1 ответ

0
Лучший ответ

Существуют три различных варианта, которые вы можете попробовать для разбора html:

  1. Комбинируйте InStr, Mid и/или Replace, как мне кажется.

  2. Используйте библиотеку VBScript RegExp. Вам нужно будет включить его в свой проект VBA, нажав "Инструменты" ---> "Ссылки", а затем установите флажок "Microsoft VBScript Regular Expressions 5.5". Регулярные выражения - очень мощный инструмент синтаксического разбора текста, но для синтаксиса требуется некоторое время. Я обнаружил, что этот шаблон позволил мне получить даты/комментарии как подматрицы: <p></p>([^<]*)<br/>([^<]*). Я предполагаю, что вы вытаскиваете этот пример из полной веб-страницы, поэтому вам нужно будет настроить этот шаблон, чтобы он соответствовал тем частям, которые вы ищете. На этом сайте есть хороший учебник по использованию библиотеки VBScript RegExp.

  3. Используйте анализатор HTML более высокого уровня. Я предлагаю библиотеку MSHTML, которую вы можете добавить в свой проект VBA, нажав "Инструменты" ---> "Ссылки", а затем установите флажок "Библиотека объектов Microsoft HTML". Этот анализатор знает о конструкциях, таких как абзацы, перерывы и таблицы HTML.

На мой взгляд, если вы готовы потратить время, чтобы изучить его, ваши регулярные выражения будут вашим лучшим выбором. Метод InStr/Replace, возможно, не сможет учитывать изменчивость содержимого веб-страницы, и метод HTML, вероятно, будет чрезмерным, особенно учитывая отсутствие форматирования в примере HTML.

После того, как вы проанализировали его, вы можете решить вторую часть вопроса, используя объекты Excel Worksheet и Range. Как мы уже отмечали, если вы можете собрать какой-то код, вам будет легче помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню