vba 下面是清除Windows剪贴板的代码

Dim octl
With Application.CommandBars("Task Pane")
If Not .Visible Then
Application.ScreenUpdating = False
Set octl = Application.CommandBars(1).FindControl(ID:=809, recursive:=True)
If Not octl Is Nothing Then octl.Execute
.Visible = False
Application.ScreenUpdating = True
End If
End With
但是在EXCEL中运行该代码时,EXCEL会调出剪贴板控制窗口让你选择要作怎样的选择,能不能修改一下让其静默清空剪贴板。

您好,


这个可以通过 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

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网