我目前正在从这里使用此解决方案:Ozmike的解决方案: HTML Text with tags to formatted text in an Excel cell
要将包含HTML的单元格转换为格式化的文本并将其粘贴到新的单元格中。
转换工作正常,但是br标签存在问题,每当它出现在html中时,当粘贴格式化的文本时,它将导致使用多个单元格
例如,我有这个:
<html><p>This is Line 1</p><p><br /></p><p><b>Note:</b> This is Line 2</p>
结果是:
预期结果是:
或在两行之间使用空格线也可以。
我的一个想法是直接粘贴到目标单元格的公式栏中。当我自己粘贴该栏时,它在一个单元格中包含多行,但是丢失了格式,因此我不认为这是一个选择。预期的结果可能吗?
作为参考,到目前为止我所使用的代码:
Sub HtmlConvert()
Cells(1, 1).Value = "<html><p>This is Line 1</p><p><br /></p><p><b>Note:</b> This is Line 2</p>"
Dim rng As Range
Set rng = ActiveSheet.Cells(1, 1)
Worksheet_Change rng, ActiveSheet
End Sub
Private Sub Worksheet_Change(ByVal Target As Range, ByVal sht As Worksheet)
Dim objData As DataObject ' Set a reference to MS Forms 2.0
Dim sHTML As String
Dim sSelAdd As String
Application.EnableEvents = False
If Target.Cells.Count = 1 Then
Set objData = New DataObject
sHTML = Target.Text
objData.SetText sHTML
objData.PutInClipboard
Target.Select
sht.PasteSpecial Format:="Unicode Text"
End If
Application.EnableEvents = True
End Sub