Скрипт VBA, который преобразует HTML в форматированный текст и пропускает несколько строк данных в буфере обмена в одну ячейку. - PullRequest
0 голосов
/ 26 октября 2018

Я сейчас использую это решение Решение Озмике отсюда: HTML-текст с тегами для форматированного текста в ячейке Excel

Чтобы преобразовать ячейку, содержащую HTML, в форматированный текст и вставить ее в новую ячейку.

Преобразование работает нормально, однако проблема заключается в теге br, всякий раз, когда он появляется в HTML, он вызывает использование нескольких ячеек при вставке форматированного текста

Например, у меня есть это:

<html><p>This is Line 1</p><p><br /></p><p><b>Note:</b> This is Line 2</p>

результат:

ожидаемый результат:

[![[![enter image description here

или с пробелом между двумя строками, который тоже работает.

Одна идея, которую я имел, заключалась в том, чтобы вставить непосредственно в строку формул целевой ячейки. Когда я вставляю эту строку самостоятельно, она содержит несколько строк в одной ячейке, однако теряет форматирование, поэтому я не думаю, что это вариант. Возможен ли ожидаемый результат?

Для справки код, который использовался для достижения того, что у меня есть:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...