首页 > 解决方案 > 创建 Excel 函数以将 HTML 文件的一部分加载到单个单元格中?

问题描述

背景
每天,我将数百个产品上传到我们的数据库中,每个产品都包含“简短描述”、“完整描述”和“元描述”。我将这些写在我构建的 HTML 模板中,从历史上看,我只是将描述的每个部分复制并粘贴到它们相应的单元格中。但是,最近我确定保存每个 'description'.html 文件(以供重复使用)并编写 Excel 函数以从描述文件中提取必要的数据可能会更快。

我在 Mac 上使用 Excel,我对 VBA 很陌生。

这是我想要完成的:创建一个函数,将本地文件中的 HTML 内容加载到单个单元格中,并使用函数参数来确定应该将 html 的哪一部分加载到单元格中。 Excel电子表格

首先,我试图“只是”将 html 数据放入“一个”单元格中。
接下来,我需要通过“短”、“长”或“元”描述来分隔数据。

到目前为止,我一直坚持通过 VBA 获取单元格中的 html。

这是我的功能:

Function Description(InputFile, Part As String)

    Dim URL As String
    Dim IE As InternetExplorer
    Dim HTMLDoc As HTMLDocument
    Dim DescPart As String
    
    Set IE = New InternetExplorer
    URL = InputFile
    DescPart = Part
    
    With IE
        .navigate URL
        .Visible = False
        
        While .Busy Or .readyState <> READYSTATE_COMPLETE: DoEvents: Wend
        
        Set HTMLDoc = .document
    End With
    
    Select Case DescPart
        Case Short 'Get Short Description (Future)
            Description = HTMLDoc
        Case Full 'Get Full Description (Future)
            Description = HTMLDoc
        Case Meta 'Get Meta Description (Future)
            Description = HTMLDoc
    End Select
End Function

我已经阅读了很多关于使用 VBA 阅读 HTML 的内容(我大部分都不懂)。上面的代码或多或少是根据我的研究开发的。我很确定使用“Internet Explorer”的传统路线不会起作用,因为它是在 Mac 上构建的(我可能是错的)。我需要 AppleScript 来抓取 HTML 吗?我找到的所有材料都适用于 Windows 上的 VBA。


这可能适用于 Mac,但我仍然遇到错误......(未定义“HTMLDocument”类型)因为 Mac 不允许 Active-x 控件?

Function Description(InputFile, Part As String)

    Dim URL As String
    Dim HTMLdoc As HTMLDocument, HTMLdoc2 As HTMLDocument
    Dim DescPart As String
    
    URL = InputFile
    DescPart = Part
    
    Set HTMLdoc2 = New HTMLDocument
    Set HTMLdoc = HTMLdoc2.createDocumentFromURL(URL, "")
    
    While HTMLdoc.readyState <> "complete"
        DoEvents
    Wend
    
    Select Case DescPart
        Case Short
            Description = HTMLdoc
        Case Full
            Description = HTMLdoc
        Case Meta
            Description = HTMLdoc
    End Select
End Function

标签: htmlexcelvbamacos

解决方案


推荐阅读