VBA代码大全025:如何用vba判断剪贴板中有无数据?

上一期中我们介绍了如何用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。

       

发表评论