怎么样获取剪贴板中格式的类型,VBA编程教你这样操作
No.1
如果熟悉操作系统,那么剪贴板也一定不陌生,简单理解,剪贴板相当于一个临时存储空间,专业术语叫临时寄存器。
就是说在操作电脑的过程中,有些数据需要暂时存放在某一个地方,计算机就给这些数据零时划出一个空间来进行保存。
保存在剪贴板中的数据随时会被替换或消除,所以并不能保证长久存在。
当然了,用电脑的时候,也不会感受到数据是否被清除了。
除非对计算机运行方式有十分的理解,会明白在操作的过程当中,数据存放的整个流程,明白什么时候,什么数据是当前临时寄存器里存放着,什么时候被其它数据所取代。
本节就介绍一下,在VBA过程当中,对于剪贴板中的数据如何进行类型区分,或者说如何找出需要的内容进行处理。
这里会用到一个属性ClipboardFormats,它是Application对象下的属性。
其功能是以数字数组的形式返回剪贴板中当前的格式。
ClipboardFOrmats属性返回的是一个数组,里面存放着剪贴板中内容的格式数组,如上图所示,参考常量XlClipboardFormat 枚举,对应值就是数组的值。
通俗地理解,如果复制了一些文字,那么就返回0,如果是图片就返回2。
这样在编程过程中就给出了一个条件选择,如果是需要复制的格式就进行复制,如果不是那么就可以不用进行复制操作。
No.2
如下实例进行说明
Private Sub CommandButton1_Click()
Dim ForArr, Fx As Variant
ForArr = Application.ClipboardFormats '返回剪贴板格式到数组
For Each Fx In ForArr
MsgBox "剪贴板中的格式值为: " & Fx
If Fx = 0 Then
Range("E1").PasteSpecial xlPasteAll '复制剪贴板内容到E1单元格
End If
Next Fx
MsgBox Application.ClipboardFormats(1) '显示第一个数组值
End Sub
语法
Application.ClipboardFormats(index)
index是索引值,如果省略则返回一个包含剪贴板内当前格式数组。
如:
Dim cArr
cArr=Application.ClipboardFormats
剪贴板内容格式是很重要的,是编程过程中必然会遇到的一个内容,所以很有必要对此进行一个深入的理解。
欢迎关注、收藏
---END---