如何在vba中用api函数操作剪贴板Clipboard?





用api函数操作剪贴板Clipboard主要集中在读取剪贴板数据和将数据写入剪贴板两种。

用api函数将数据写入剪贴板主要的步骤为:

1.用GlobalAlloc函数分配内存空间

2.用GlobalLock函数锁定分配的内存空间

3.用CopyMemory函数将要写入的数据复制到分配的内存空间

4.用GlobalUnlock函数解锁内存空间

5.用OpenClipboard函数打开剪贴板

6.用EmptyClipboard函数清空剪贴板

7.用SetClipboardData函数设置剪贴板的数据格式和关联步骤1-4中分配的内存空间

8.用CloseClipboard函数关闭剪贴板

如以下是一个将字符串“我和你”复制到剪贴板中的代码:

用api函数将数据读取剪贴板数据的主要步骤为:

1.用OpenClipboard函数打开剪贴板

2.用GetClipboardData函数获取要读取的数据所在的内存对象的句柄

3.用GlobalLock函数锁定获得的内存对象,并返回内存对象的第一个内存字节的地址

4.用GlobalSize函数获得实际存储数据的字节数

5.用CopyMemory函数将剪贴板内存对象中的数据读取到变量中

6.用CloseClipboard函数关闭剪贴板

以下代码是读取上面的写入剪贴板的数据:

 

 

 

发表评论