优秀的编程知识分享平台

网站首页 > 技术文章 正文

怎么样获取剪贴板中格式的类型,VBA编程教你这样操作

nanyue 2025-05-25 14:33:49 技术文章 3 ℃

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---

Tags:

最近发表
标签列表