【问题标题】:Get formatted html from web to MS-Word将格式化的 html 从 web 获取到 MS-Word
【发布时间】:2016-03-11 21:48:10
【问题描述】:

我之前曾多次问过这个问题以及其他问题。从来没有得到答案。

有什么方法可以获取带有格式的网络数据并将其放入 microsoft word 中?

我根据这个答案得到了一些解决方案

HTML Text with tags to formatted text in an Excel cell

就我而言,我直接从网络获取数据。是否有任何直接的过程来获取格式化的 HTML 内容。

我的代码是:

If .Hyperlinks.Count > 0 Then
    HttpReq.Open "GET", .Hyperlinks(1).Address, False
    HttpReq.send
    oHtml.body.innerHTML = HttpReq.responseText
    StrTxt = oHtml.getElementsByClassName("class").Item.innerHTML
        With IE
            .Visible = True
            .navigate "about:blank"
            .Document.body.innerHTML = StrTxt
            .Document.execCommand "SelectAll"
            .Document.execCommand "Copy"
        End With
    Set rng = Tbl.Cell(i, 1).Range
        rng.Collapse wdCollapseStart
        rng.PasteAndFormat wdPasteDefault
    Set rng = nothing
End If

有没有更好的方法?

【问题讨论】:

    标签: html xml vba dom ms-word


    【解决方案1】:

    由于 Word 需要转换器将 HTML 转换为 Word 文档,因此您基本上有三种选择:

    1. 使用剪贴板(复制、粘贴)
    2. 将 HTML 保存为文件,然后使用 InsertFile
    3. 使用您的代码解析 HTML 并将其“翻译”为有效的 Word 对象模型命令。

    “更好”是一个见仁见智的问题,取决于您所说的“更好”是什么意思。最简单的当然是你在做什么......

    【讨论】:

    • 我不知道在处理 HTML 内容时使用剪贴板。我会仔细看看的。 Simplest(上面的代码)的问题是它会给出损坏的图像(如果有的话)。为此,我需要运行另一个宏(也无法正常工作,正在根据您的建议进行审核)
    • 图像完全是另一回事,在您的问题中未提及。复制/粘贴使用剪贴板,这就是你正在做的。但是剪贴板只能与网页提供的内容一起使用。并非当今网页中的所有内容都是“明确”提供的。您可能会通过尝试手动复制/粘贴来取得一些进展,注意哪些尝试不能令人满意地工作。分析网页的“来源”以了解信息是如何提供的,然后在专门从事此类事情的小组中询问是否可以通过复制/粘贴来获取此类图像...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多