大家好,我们今日讲解“VBA信息获取与处理”教程中第十二个专题“VBA中剪贴板(Clipboard)的应用”的第六节“利用剪贴板提取工作表的文本内容”,这个专题是非常有用的知识点,希望大家能掌握利用。
第六节 利用剪贴板提取工作表的文本内容
这节内容是这个专题的最后一讲,也是一讲抛砖引玉的内容。在前面几讲的内容中,我们讲了很多关于剪贴板的利用,在提取剪贴板数据的时候。可以建立一个对象,利用对象的方法提取数据,还可以利用API函数来完成提取数据。在利用对象来提取对象的时候,一般只是提取文本数据,而利用API函数来提取数据的时候,理论上不仅可以提取文本数据,还可以提取各种格式的数据,文本格式只是其中之一。这套教程中我只是将提取文本数据的方法给大家进行讲解,其他格式希望有兴趣的朋友能参考必要的资料。
这节的内容和第四节的内容类似,只是在思路上将文本类型的数据格式作为提取数据的格式之一来进行。
这节代码的实现场景是将某个工作表内容中的文本提取出来,放到另外的一个工作表中。可以利用上节的内容进行判断,是否具有文本格式的数据,如有有那么可以利用这讲的代码进行数据的提取。
1 利用剪贴板提取工作表文本内容的代码
这个代码我仍是采用API函数来书写,以便朋友们在提取其他格式数据的时候进行参考,对于代码的引用声明部分大家可以参考附件的程序文件,这里仅对标准模块的代码进行讲解。
标准模块的代码如下:
Sub mynzE()
Dim hMem As Long
Dim lpData As Long
Dim nClipSize As Long
Dim bytClipData() As Byte
Dim sClipString As String
Sheets("sheet4").Select
Cells.Copy
Sheets("sheet3").Select
OpenClipboard 0&
If OpenClipboard(ByVal 0&) Then
hMem = GetClipboardData(CF_TEXT)
If CBool(hMem) Then
lpData = Global