无法使用VBA清除Office剪贴板 [英] Can't clear office clipboard with VBA

查看:88
本文介绍了无法使用VBA清除Office剪贴板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个函数从Access数据库中复制一堆图片,并将它们存储到磁盘上。但是,此函数使用Office剪贴板,并且剪贴板在大约150个记录后填满,导致程序崩溃。下面是我清除剪贴板的方法

Private Declare Function apiOpenClipboard Lib "user32" Alias "OpenClipboard" (ByVal hwnd As Long) As Long
Private Declare Function apiEmptyClipboard Lib "user32" Alias "EmptyClipboard" () As Long
Private Declare Function apiCloseClipboard Lib "user32" Alias "CloseClipboard" () As Long

Sub EmptyClipboard()
    Call apiOpenClipboard(0&)
    Call apiEmptyClipboard
    Call apiCloseClipboard
End Sub

任何人都知道如何更有效地清除剪贴板

推荐答案

您正在使用的函数引用Windows剪贴板。这与Office Clipboard

不同

我找到的唯一清除剪贴板的代码是Application.CommandBars("Clipboard").Controls(4).Execute,但由于我禁用了office剪贴板(显然无法启用它),我看不出这是否是实际的解决方案

这篇关于无法使用VBA清除Office剪贴板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆