乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>VBA</em>如何对Windows剪切板进行操作

<em>VBA</em>如何对Windows剪切板进行操作

作者:乔山办公网日期:

返回目录:excel表格制作


'清空系统剪贴
Dim MyData As DataObject

Set MyData = New DataObject
MyData.SetText ""
MyData.PutInClipboard

'获取系统剪贴板数

Dim MyData As DataObject
Dim strClip As String

Set MyData = New DataObject
MyData.GetFromClipboard
strClip = MyData.GetText

一、设置剪贴板内容
仅对窗体有效,DataObject 是MSFORM子类
Dim MyData As New DataObject '声明新DataObject 类
MyData.SetText "文本内容" '设定文本,可以将Me.TextBox1.Text作为文本传递
MyData.PutInClipboard '送入剪贴

二、读取剪贴板内容
Function GetClipBoardText()
'将剪贴板中的文本输出到一变量。
Dim MyData As DataObject
Set MyData = New DataObject
' 如果剪贴板的数据是文本
If MyData.GetFormat(1) = True Then
' 从剪贴板中获得数据
MyData.GetFromClipboard
' 把数据返回给函数值
GetClipBoardText = MyData.GetText(1)
End If
End Function
VBA操作剪贴板数据
一、设置剪贴板内容
'仅对窗体有效,DataObject 是MSFORM子类
Dim MyData As New DataObject '声明新DataObject 类
MyData.SetText "文本内容" '设定文本,可以将Me.TextBox1.Text作为文本传递
MyData.PutInClipboard '送入剪7a686964616fe78988e69d83339贴板

二、读取剪贴板内容
Function GetClipBoardText()
'将剪贴板中的文本输出到一变量。
Dim MyData As DataObject
Set MyData = New DataObject
' 如果剪贴板的数据是文本
If MyData.GetFormat(1) = True Then
' 从剪贴板中获得数据
MyData.GetFromClipboard
' 把数据返回给函数值
GetClipBoardText = MyData.GetText(1)
End If
End Function

您好,


这个可以通过 API 函数 FindWindowEx 先找到 Office 剪贴板的清按钮的句柄,然后调用 API 函数 PostMessage 向这个按钮后台发送消息(WM_LBUTTONDOWN 和 WM_LBUTTONUP)来模拟鼠标单击按钮,详情请参考这篇文章:

http://amalfaro-wrk.tiddlyspace.com/ClearOfficeClipboard.XL.VBA


其实这个也可以通过 API 函数 EmptyClipboard 来清空 Windows 的剪贴板

Public Declare Function EmptyClipboard Lib "user32" Alias "EmptyClipboard" () As Long

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网