上一期中我们介绍了如何用vba代码打开剪贴板,在很多涉及到跨软件的操作中,我们经常要利用剪贴板作为数据的中转区。
其中一个环节就是要判断剪贴板中是否有数据,复制的内容是文字还是图片等等。
很多人以为这个很复杂,要用很高深的代码,或者是要用api函数才能搞定。
其实微软的工程师已经为我们内置好了,直接用Application对象的ClipboardFormats属性就可以搞定这些。
这个属性可以包含一个数组,这个数组里面列举了当前剪贴板中包含的内容的格式。
如果要判断当前剪贴板中包含的格式,可以通过与XlClipboardFormat枚举常量对比。
这里介绍用vba判断剪贴板中是否有内容的代码:
Sub 判断剪贴板是否有数据() arr = Excel.Application.ClipboardFormats If UBound(arr) = 1 And arr(1) = -1 Then MsgBox "剪贴板无数据" Else MsgBox "剪贴板中有数据" End If End Sub
当剪贴板中没有内容时, Excel.Application.ClipboardFormats返回的数组只含有一个元素,这个元素的值为-1。
发表评论