mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

Преобразование HTML в текст для диапазона ячеек

Этот макрос позволяет преобразовать HTML-код, хранящийся в ячейках Excel,
в обычный текст (без HTML-тегов)

Особенность кода: теги перевода строки «br /» сохраняются.

Пример использования процедуры Convert_HTML_Range_To_Text:
(для этого примера, преобразования выполняются для диапазона ячеек в столбце С, начиная с 4 строки)

Sub Макрос1()
    ' получаем ссылку на диапазон ячеек
    Dim ra As Range: Set ra = Range(Range("c4"), Range("c" & Rows.Count).End(xlUp))
 
    ' преобразуем HTML в текст
    Convert_HTML_Range_To_Text ra
End Sub

Код процедуры Convert_HTML_Range_To_Text:

Sub Convert_HTML_Range_To_Text(ByRef ra As Range)
    On Error Resume Next
    Set doc = CreateObject("htmlFile")
 
    Dim cell As Range
    For Each cell In ra.Cells
        HTML$ = cell.Value
 
        ' теги <br /> мы оставляем, от остальных - избавляемся
        HTML$ = Replace(HTML$, "<br />", "«br»")
        HTML$ = Replace(HTML$, "<br/>", "«br»")
        HTML$ = Replace(HTML$, "<br>", "«br»")
 
        doc.Body.innerHTML = HTML$
        txt$ = doc.Body.innerText
 
        ' восстанавливаем теги <br />
        txt$ = Replace(txt$, "«br»", "<br />")
 
        If txt$ <> HTML$ Then cell = txt$
    Next cell
    Set doc = Nothing
End Sub

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
         _  __  ____    _   _   ____    ____  
___ | |/ / / ___| | | | | | _ \ | _ \
/ _ \ | ' / \___ \ | | | | | | | | | |_) |
| __/ | . \ ___) | | |_| | | |_| | | __/
\___| |_|\_\ |____/ \___/ |____/ |_|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.