2013-02-05 22 views

Odpowiedz

35

Zastosuj Replace All z <*> wzoru:

replace tags pattern

Aby otworzyć to iść do Ribbon Home > Find & Select > Replace... lub po prostu naciśnij CTRL + H.

Dodatkowe spacje można dodatkowo usunąć przy pomocy funkcji TRIM. Powodzenia!

+1

Możesz dodać do 'Zamień na:' spację lub cokolwiek, lub pozostawić jako tagi, które mają być usunięte. –

5

Otwórz VBA w Excelu (Alt + F11), kliknij nazwę projektu (nazwa arkusza kalkulacyjnego) w eksploratorze projektu po prawej stronie. Wstaw -> Nowy moduł. Wklej poniżej zdefiniowaną funkcję użytkownika do okna modułu. Zapisz jako .XLSM, który pozwala na makra.

wpisz funkcję '= StripHTML (A2)', zakładając, że twoje dane znajdują się w komórce A2. Można również pobrać działający przykład tutaj:

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, “&ndash;”, “–”) 
sInput = Replace(sInput, “&mdash;”, “—”) 
sInput = Replace(sInput, “&iexcl;”, “¡”) 
sInput = Replace(sInput, “&iquest;”, “¿”) 
sInput = Replace(sInput, “&quot;”, “”) 
sInput = Replace(sInput, “&ldquo;”, ““”) 
sInput = Replace(sInput, “&rdquo;”, “””) 
sInput = Replace(sInput, “”, “‘”) 
sInput = Replace(sInput, “&lsquo;”, “‘”) 
sInput = Replace(sInput, “&rsquo;”, “’”) 
sInput = Replace(sInput, “&laquo;”, “«”) 
sInput = Replace(sInput, “&raquo;”, “»”) 
sInput = Replace(sInput, “&nbsp;”, ” “) 
sInput = Replace(sInput, “&amp;”, “&”) 
sInput = Replace(sInput, “&cent;”, “¢”) 
sInput = Replace(sInput, “&copy;”, “©”) 
sInput = Replace(sInput, “&divide;”, “÷”) 
sInput = Replace(sInput, “&gt;”, “>”) 
sInput = Replace(sInput, “&lt;”, “<”) 
sInput = Replace(sInput, “&micro;”, “µ”) 
sInput = Replace(sInput, “&middot;”, “·”) 
sInput = Replace(sInput, “&para;”, “¶”) 
sInput = Replace(sInput, “&plusmn;”, “±”) 
sInput = Replace(sInput, “&euro;”, “€”) 
sInput = Replace(sInput, “&pound;”, “£”) 
sInput = Replace(sInput, “&reg;”, “®”) 
sInput = Replace(sInput, “&sect;”, “§”) 
sInput = Replace(sInput, “&trade;”, “™”) 
sInput = Replace(sInput, “&yen;”, “¥”) 
sInput = Replace(sInput, “&aacute;”, “á”) 
sInput = Replace(sInput, “&Aacute;”, “Á”) 
sInput = Replace(sInput, “&agrave;”, “à”) 
sInput = Replace(sInput, “&Agrave;”, “À”) 
sInput = Replace(sInput, “&acirc;”, “â”) 
sInput = Replace(sInput, “&Acirc;”, “”) 
sInput = Replace(sInput, “&aring;”, “å”) 
sInput = Replace(sInput, “&Aring;”, “Å”) 
sInput = Replace(sInput, “&atilde;”, “ã”) 
sInput = Replace(sInput, “&Atilde;”, “Ô) 
sInput = Replace(sInput, “&auml;”, “ä”) 
sInput = Replace(sInput, “&Auml;”, “Ä”) 
sInput = Replace(sInput, “&aelig;”, “æ”) 
sInput = Replace(sInput, “&AElig;”, “Æ”) 
sInput = Replace(sInput, “&ccedil;”, “ç”) 
sInput = Replace(sInput, “&Ccedil;”, “Ç”) 
sInput = Replace(sInput, “&eacute;”, “é”) 
sInput = Replace(sInput, “&Eacute;”, “É”) 
sInput = Replace(sInput, “&egrave;”, “è”) 
sInput = Replace(sInput, “&Egrave;”, “È”) 
sInput = Replace(sInput, “&ecirc;”, “ê”) 
sInput = Replace(sInput, “&Ecirc;”, “Ê”) 
sInput = Replace(sInput, “&euml;”, “ë”) 
sInput = Replace(sInput, “&Euml;”, “Ë”) 
sInput = Replace(sInput, “&iacute;”, “í”) 
sInput = Replace(sInput, “&Iacute;”, “Í”) 
sInput = Replace(sInput, “&igrave;”, “ì”) 
sInput = Replace(sInput, “&Igrave;”, “Ì”) 
sInput = Replace(sInput, “&icirc;”, “î”) 
sInput = Replace(sInput, “&Icirc;”, “Δ) 
sInput = Replace(sInput, “&iuml;”, “ï”) 
sInput = Replace(sInput, “&Iuml;”, “Ï”) 
sInput = Replace(sInput, “&ntilde;”, “ñ”) 
sInput = Replace(sInput, “&Ntilde;”, “Ñ”) 
sInput = Replace(sInput, “&oacute;”, “ó”) 
sInput = Replace(sInput, “&Oacute;”, “Ó”) 
sInput = Replace(sInput, “&ograve;”, “ò”) 
sInput = Replace(sInput, “&Ograve;”, “Ò”) 
sInput = Replace(sInput, “&ocirc;”, “ô”) 
sInput = Replace(sInput, “&Ocirc;”, “Ô”) 
sInput = Replace(sInput, “&oslash;”, “ø”) 
sInput = Replace(sInput, “&Oslash;”, “Ø”) 
sInput = Replace(sInput, “&otilde;”, “õ”) 
sInput = Replace(sInput, “&Otilde;”, “Õ”) 
sInput = Replace(sInput, “&ouml;”, “ö”) 
sInput = Replace(sInput, “&Ouml;”, “Ö”) 
sInput = Replace(sInput, “&szlig;”, “ß”) 
sInput = Replace(sInput, “&uacute;”, “ú”) 
sInput = Replace(sInput, “&Uacute;”, “Ú”) 
sInput = Replace(sInput, “&ugrave;”, “ù”) 
sInput = Replace(sInput, “&Ugrave;”, “Ù”) 
sInput = Replace(sInput, “&ucirc;”, “û”) 
sInput = Replace(sInput, “&Ucirc;”, “Û”) 
sInput = Replace(sInput, “&uuml;”, “ü”) 
sInput = Replace(sInput, “&Uuml;”, “Ü”) 
sInput = Replace(sInput, “&yuml;”, “ÿ”) 
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 
0

Ponieważ makro powyżej nie działa dla mnie Naprawiłem to sam. To mój pierwszy skrypt, jeśli możesz go ulepszyć, przyspieszyć, dodać więcej, niż jesteś mile widziany!

Ok chłopaki, nie miałem żadnego wcześniejszego doświadczenia w programowaniu (poza kilkoma bardzo podstawowymi Javą 6 lat temu), ale z pewną pomocą, dużo zgadywania (godziny faktycznie) udało mi się zrobić ten skrypt, działa jak urok aby usunąć większość i 8 # tekstu, ale nie zastępuje <BR> z liniowym rozbiciem (możesz to zrobić, naciskając CTRL + H, "find: <br>" "replace: (teraz przytrzymaj ALT w dół i użyj typu 0010 za pomocą KLAWIATURA NUM. powinna migać w oknie zastąpić, a następnie naciśnij "zastąpić wszystko").

Wklej poniższy kod w module użytkownika (alt + F11, kliknij prawym przyciskiem Sheet1-> dodaje się:> module-> kod wklej)

I przycisk przez przechodząc do Plik-> Opcje-> Dostosuj Wstążkę-> zaznacz pole wyboru Deweloper. Następnie przejdź do zakładki deweloperów-> Wstaw-> Przycisk-> następnie umieść przycisk i kliknij prawym przyciskiem myszy-> przypisz makro-> Wybierz 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, ""), "&#8217;", " ") 
     r.Value2 = Replace(.Replace(r.Value2, ""), "&#8211;", " ") 
     Next r 

     For Each r In Selection 
     r.Value = Replace(.Replace(r.Value, ""), "&#8216;", " ") 
     r.Value2 = Replace(.Replace(r.Value2, ""), "&#8232;", " ") 
     Next r 

     For Each r In Selection 
     r.Value = Replace(.Replace(r.Value, ""), "&#8233;", " ") 
     r.Value2 = Replace(.Replace(r.Value2, ""), "&#146;s", " ") 
     Next r 
    End With 
End Sub 


Private Sub CommandButton1_Click() 

End Sub 
Powiązane problemy