удаление HTML-тегов из строк ячеек: Формула excel
У меня есть данные с тегами HTML в листе excel, как показано ниже:
<b>This is test data<br>Nice
<div> Go on this is next Cell
Very goood <b>.....</b>
Итак, в основном я хочу удалить или заменить все HTML-теги пробелом в листе excel.
3 ответов
применить Replace All
с <*>
шаблон:
чтобы открыть это, перейдите к ленте Home > Find & Select > Replace...
или просто нажмите клавишу CTRL+H.
дополнительные пробелы могут быть удалены с помощью . Удачи!
откройте VBA в Excel (Alt +F11), нажмите на имя проекта (Имя электронной таблицы) в обозревателе проектов справа. Вставить - > Новый Модуль. Вставьте определяемую пользователем функцию ниже в окно модуля. Сохранить как. XLSM, которые позволяют макросы.
введите функцию ' =StripHTML (A2)', предполагая, что ваши данные находятся в ячейке A2. Вы также можете скачать рабочий пример здесь:
http://jfrancisconsulting.com/how-to-strip-html-tags-in-excel/
Function StripHTML(cell As Range) As String
Dim RegEx As Object
Set RegEx = CreateObject(“vbscript.regexp”)
Dim sInput As String
Dim sOut As String
sInput = cell.Text
sInput = Replace(sInput, “\x0D\x0A”, Chr(10))
sInput = Replace(sInput, “\x00″, Chr(10))
‘replace HTML breaks and end of paragraphs with line breaks
sInput = Replace(sInput, “</P>”, Chr(10) & Chr(10))
sInput = Replace(sInput, “<BR>”, Chr(10))
‘replace bullets with dashes
sInput = Replace(sInput, “<li>”, “-”)
‘add back all of the special characters
sInput = Replace(sInput, “–”, “–”)
sInput = Replace(sInput, “—”, “—”)
sInput = Replace(sInput, “¡”, “¡”)
sInput = Replace(sInput, “¿”, “¿”)
sInput = Replace(sInput, “"”, “”)
sInput = Replace(sInput, ““”, ““”)
sInput = Replace(sInput, “””, “””)
sInput = Replace(sInput, “”, “‘”)
sInput = Replace(sInput, “‘”, “‘”)
sInput = Replace(sInput, “’”, “’”)
sInput = Replace(sInput, “«”, “«”)
sInput = Replace(sInput, “»”, “»”)
sInput = Replace(sInput, “ ”, ” “)
sInput = Replace(sInput, “&”, “&”)
sInput = Replace(sInput, “¢”, “¢”)
sInput = Replace(sInput, “©”, “©”)
sInput = Replace(sInput, “÷”, “÷”)
sInput = Replace(sInput, “>”, “>”)
sInput = Replace(sInput, “<”, “<”)
sInput = Replace(sInput, “µ”, “µ”)
sInput = Replace(sInput, “·”, “·”)
sInput = Replace(sInput, “¶”, “¶”)
sInput = Replace(sInput, “±”, “±”)
sInput = Replace(sInput, “€”, “€”)
sInput = Replace(sInput, “£”, “£”)
sInput = Replace(sInput, “®”, “®”)
sInput = Replace(sInput, “§”, “§”)
sInput = Replace(sInput, “™”, “™”)
sInput = Replace(sInput, “¥”, “¥”)
sInput = Replace(sInput, “á”, “á”)
sInput = Replace(sInput, “Á”, “Á”)
sInput = Replace(sInput, “à”, “à”)
sInput = Replace(sInput, “À”, “À”)
sInput = Replace(sInput, “â”, “â”)
sInput = Replace(sInput, “”, “”)
sInput = Replace(sInput, “å”, “å”)
sInput = Replace(sInput, “Å”, “Å”)
sInput = Replace(sInput, “ã”, “ã”)
sInput = Replace(sInput, “Ô, “Ô)
sInput = Replace(sInput, “ä”, “ä”)
sInput = Replace(sInput, “Ä”, “Ä”)
sInput = Replace(sInput, “æ”, “æ”)
sInput = Replace(sInput, “Æ”, “Æ”)
sInput = Replace(sInput, “ç”, “ç”)
sInput = Replace(sInput, “Ç”, “Ç”)
sInput = Replace(sInput, “é”, “é”)
sInput = Replace(sInput, “É”, “É”)
sInput = Replace(sInput, “è”, “è”)
sInput = Replace(sInput, “È”, “È”)
sInput = Replace(sInput, “ê”, “ê”)
sInput = Replace(sInput, “Ê”, “Ê”)
sInput = Replace(sInput, “ë”, “ë”)
sInput = Replace(sInput, “Ë”, “Ë”)
sInput = Replace(sInput, “í”, “í”)
sInput = Replace(sInput, “Í”, “Í”)
sInput = Replace(sInput, “ì”, “ì”)
sInput = Replace(sInput, “Ì”, “Ì”)
sInput = Replace(sInput, “î”, “î”)
sInput = Replace(sInput, “Δ, “Δ)
sInput = Replace(sInput, “ï”, “ï”)
sInput = Replace(sInput, “Ï”, “Ï”)
sInput = Replace(sInput, “ñ”, “ñ”)
sInput = Replace(sInput, “Ñ”, “Ñ”)
sInput = Replace(sInput, “ó”, “ó”)
sInput = Replace(sInput, “Ó”, “Ó”)
sInput = Replace(sInput, “ò”, “ò”)
sInput = Replace(sInput, “Ò”, “Ò”)
sInput = Replace(sInput, “ô”, “ô”)
sInput = Replace(sInput, “Ô”, “Ô”)
sInput = Replace(sInput, “ø”, “ø”)
sInput = Replace(sInput, “Ø”, “Ø”)
sInput = Replace(sInput, “õ”, “õ”)
sInput = Replace(sInput, “Õ”, “Õ”)
sInput = Replace(sInput, “ö”, “ö”)
sInput = Replace(sInput, “Ö”, “Ö”)
sInput = Replace(sInput, “ß”, “ß”)
sInput = Replace(sInput, “ú”, “ú”)
sInput = Replace(sInput, “Ú”, “Ú”)
sInput = Replace(sInput, “ù”, “ù”)
sInput = Replace(sInput, “Ù”, “Ù”)
sInput = Replace(sInput, “û”, “û”)
sInput = Replace(sInput, “Û”, “Û”)
sInput = Replace(sInput, “ü”, “ü”)
sInput = Replace(sInput, “Ü”, “Ü”)
sInput = Replace(sInput, “ÿ”, “ÿ”)
sInput = Replace(sInput, “”, “´”)
sInput = Replace(sInput, “”, “`”)
‘replace all the remaining HTML Tags
With RegEx
.Global = True
.IgnoreCase = True
.MultiLine = True
.Pattern = “<[^>]+>” ‘Regular Expression for HTML Tags.
End With
sOut = RegEx.Replace(sInput, “”)
StripHTML = sOut
Set RegEx = Nothing
End Function
поскольку макрос выше не работал для меня, я исправил его сам. Это мой первый сценарий, если вы, ребята, можете улучшить его, сделать его быстрее, добавить больше, то вы более чем приветствуются!
ОК, ребята, у меня не было предыдущего опыта программирования (за исключением некоторых очень простых Java 6 лет назад), но с некоторой помощью, много догадок (часов на самом деле) мне удалось сделать этот скрипт, он работает как шарм, чтобы удалить большинство и 8#текст, но он не заменяет <BR>
С помощью linebreak (вы можете сделать это нажав CTRL + H, " найти:<br>
"" replace: (теперь удерживайте ALT и используйте тип 0010 с вашей цифровой панелью. В окне замены должна мигать маленькая точка, затем нажмите "заменить все").
вставьте код ниже в пользовательский модуль (alt +f11, щелкните правой кнопкой мыши Sheet1->insert->Module->paste code)
и сделать кнопку, перейдя Файл- > Параметры - >Настройка ленты - > установите флажок разработчика. Затем перейдите на вкладку Разработчик- > вставить - > кнопка - > затем поместите кнопку и щелкните правой кнопкой мыши - >назначить макрос - > выберите RemoveTags.
Sub RemoveTags()
Dim r As Range
Selection.NumberFormat = "@" 'set cells to text numberformat
With CreateObject("vbscript.regexp")
.Pattern = "\<.*?\>"
.Global = True
For Each r In Selection
r.Value = Replace(.Replace(r.Value, ""), "’", " ")
r.Value2 = Replace(.Replace(r.Value2, ""), "–", " ")
Next r
For Each r In Selection
r.Value = Replace(.Replace(r.Value, ""), "‘", " ")
r.Value2 = Replace(.Replace(r.Value2, ""), "
", " ")
Next r
For Each r In Selection
r.Value = Replace(.Replace(r.Value, ""), "
", " ")
r.Value2 = Replace(.Replace(r.Value2, ""), "’s", " ")
Next r
End With
End Sub
Private Sub CommandButton1_Click()
End Sub