【问题标题】:How to paste HTML formatted text into one excel Cell如何将 HTML 格式的文本粘贴到一个 Excel 单元格中
【发布时间】:2017-07-14 14:34:18
【问题描述】:

我有一个 Excel 单元格 (AF17),其中包含 HTML 数据。 我需要将其复制到报告中的单元格中(A7) 我需要格式化文本留在一个单元格中。 每当我将数据粘贴进去时,它都会将自己垂直分成许多单元格。 这是我此时的代码:

Private Sub Converter()

    Dim objData As DataObject ' Set a reference to MS Forms 2.0
    Dim sHTML As String
    Dim sSelAdd As String

    Application.EnableEvents = False

    sHTML = "<HTML>" & Range("AF3").Value & "</HTML>"

    Set objData = New DataObject
    objData.SetText sHTML
    objData.PutInClipboard
    Range("A7").Select

    ActiveSheet.PasteSpecial Format:="Unicode Text"

    Application.EnableEvents = True

End Sub

如何让所有文本留在一个单元格中?

【问题讨论】:

  • 什么是 HTML?
  • 这是我们要保持格式的重要文本。
     
      • Item
      • 项目
      • 项目
      • 项目
        1. 项目
        2. Item2
      • Item
      • Item
      • Item
      • Item
      • Item
      • Item
      • Item
     
     
  • 所以不要复制粘贴:这整个Sub不能像Range("A7").Value = "&lt;HTML&gt;" &amp; Range("AF3").Value &amp; "&lt;/HTML&gt;"这样简化成单行吗?
  • 备注区。
     
    这里有很多东西。
     
  • 不,当您尝试这样做时,文本也会按字面意思放入所有 html 标记。我们需要它来格式化文本,就像在富文本字段中一样。

标签: excel vba


【解决方案1】:

很少有 HTML 标记会导致内容在不同的单元格中继续。我知道的是&lt;br /&gt;&lt;tr&gt;,但我不确定&lt;div&gt; 标签是否是您HTML 中的原因。

您可以尝试删除导致它的标签,或尝试在其上使用style="mso-data-placement:same-cell;"(不确定&lt;html style="mso-data-placement:same-cell;"&gt; 是否可以直接工作)。

另一种选择是根据需要设置单元格的格式,将文件另存为 .html 或 .mhtml,然后检查为该单元格生成的 HTML 和 CSS。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签