我想要去除所有的HTML代碼的文本值的左,右走:Excel公式剝離HTML
我有這個...
<option value="41">GECommonUI</option>
我想這個.. 。
GECommonUI
我想要去除所有的HTML代碼的文本值的左,右走:Excel公式剝離HTML
我有這個...
<option value="41">GECommonUI</option>
我想這個.. 。
GECommonUI
的傢伙,這是一組簡單的字符串函數。因爲我對excel字符串函數的速度不夠快,這對我來說是個痛苦......
在程序設計語言中,這將會像 mid(start,length)那樣得到整個值html字符串 - 訣竅是獲取長度作爲開始位置減去結束html長度的長度)
mid(pos(「>」)+ 2,len(string)-pos(「>」))
選擇所有
打開替換(Ctrl + F鍵)
取代<*>
沒事
或用perl正則表達式
$行= 「這是一些文本與HTML和文字」;
$ line =〜s/<(。*?)> // gi;
設置對MS Forms 2.0的引用以使用DataObject對象。
Public Function StripHTML(sInput As String) As String
Dim rTemp As Range
Dim oData As DataObject
Set oData = New DataObject
oData.SetText "<html><style>br{mso-data-placement:same-cell;}</style>" & sInput & "</html>"
oData.PutInClipboard
Set rTemp = Workbooks.Add.Worksheets(1).Range("a1")
rTemp.Parent.PasteSpecial "Unicode Text"
StripHTML = rTemp.Text
rTemp.Parent.Parent.Close False
Set rTemp = Nothing
Set oData = Nothing
End Function
有關更多信息,請參閱http://www.dailydoseofexcel.com/archives/2005/02/23/html-in-cells-ii/。
+1,但我不認爲這正是OP所期待的。我認爲@kacalapy想要去掉HTML,而不是將其轉換爲有效的格式。 – technomalogical 2010-06-28 20:06:36
將其轉換爲有效的格式只是一個副作用。因爲該函數返回Range對象的Text屬性,所以格式將不相關。但是,它會在轉換html標籤時將其刪除。 – 2010-06-28 20:33:28
您可以在下面的頁面上下載帶有工作用戶定義的函數= stripHTML()的Excel文件。該文件有一個工作示例和註釋。這將解決您的問題。請注意,您必須在此Excel文檔上允許宏才能使用此功能。
http://jfrancisconsulting.com/how-to-strip-html-tags-in-excel/
如何爲我的功能有什麼不同?
我發現的大多數函數在做全局查找和替換時都做了很好的工作,以刪除括號內的所有HTML標記。
但是,這會刪除某些換行符,這會導致最終結果看起來像是被搗碎的文本塊。我修改了一個現有的函數來添加回行空格,以便最終結果保持適當的換行符。
其次,全局HTML只替換括號中的屬性<>所有HTML特殊符號都將保留。防爆。而不是「&」符號&,您將剩下HTML版本&。爲了解決這個問題,我插入了87個替換行來將所有的HTML符號替換爲字符。
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
在VBA或工作表函數中? – 2010-06-28 18:30:57
作爲Excel工作表功能不是vba – kacalapy 2010-06-29 13:50:13