2013-06-03 18 views
2

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

我在剪贴板上有一些HTML,我想通过Excel UserForm解析它。

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

将数据放在剪贴板上的程序是Lotus Notes,因此他们知道可能存在什么奇特格式。

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

这是我用于提取文本的代码。我应该能够通过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 

回答

3

使用VBA,您只能从dataobject获得文本。我认为你需要API调用这个芯片皮尔逊有示例代码:http://www.cpearson.com/excel/Clipboard.aspx这可能会帮助你。

+0

谢谢 - 我很快查看了代码,我没有看到获得替代格式的方法。我可能会使用临时工作表并粘贴HTML,然后从单元格中提取数据。 – rheitzman