Excel 用户表单 - 从剪贴板获取 HTML

标签 excel userform vba

Excel 2010、2013

我的剪贴板上有一些 HTML,我想通过 Excel 用户窗体对其进行解析。

我可以使用 VB.Net 检索剪贴板上的格式,并且“HTML 格式”列在返回的数组中。但是,EXCEL VBA 中的 s = MyDataobj.GetText("HTML Format") 失败。事实上,我无法将任何参数传递给 GetText() 来返回任何内容。我可以将剪贴板粘贴到电子表格中,Excel 可以很好地粘贴 HTMl 表格。

将数据放在剪贴板上的程序是 Lotus Notes,所以谁知道可能存在哪些奇异格式。

有没有一种方法可以在 VBA 中发现 DataObject 中可用的格式(以及用于检索数据的魔数(Magic Number)/字符串)?

这是我用于提取文本的代码。我应该能够通过 GetText 检索其他格式,但我不知道要传递的参数值。

        Public Function GetText() As String
        On Error GoTo Local_err
            Dim MyData   As DataObject
            Dim strClip   As String

            Set MyData = New DataObject
            MyData.GetFromClipboard
            GetText = MyData.GetText
        local_exit:
            Exit Function
        Local_err:
            MsgBox Err & " " & Err.Description & vbCrLf & vbCrLf & "GetText from Clipboard: text not found"
            Resume local_exit
            Resume
        End Function

最佳答案

使用 VBA,您只能从数据对象中获取文本。我认为您需要对此芯片进行 api 调用,Pearson 有示例代码:http://www.cpearson.com/excel/Clipboard.aspx这可能会对您有所帮助。

关于Excel 用户表单 - 从剪贴板获取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906696/

相关文章:

excel - 在 Excel 中重命名工作表事件

c# - VSTO AddIn for Excel - 如何防止自定义任务 Pane 失去焦点?

php - 使用 Phpexcel 复制包含数据透视表和图表的工作表

VBA - 内存优化的类与类型

excel - (用户窗体)ListBox 列表属性由代码更新时未触发 ListBox 更改事件

vba - 从用户窗体监视类事件

if语句中的VBA屏幕更新

vba - 想要 Excel 中的 VBA 读取非常大的 CSV 并创建 CSV 小子集的输出文件

Excel VBA - 网页抓取 - 跟踪包裹 - 处理跟踪号不正确的错误

excel - 在Excel工作表中存储对象?