本帖最后由 makelot 于 2024-2-22 22:26 编辑
Application.CutCopyMode = False 的作用是清空剪切板,取消剪切或复制模式,并清除Excel待剪切或复制区域的动画边框 (Cancels Cut or Copy mode and removes the moving border)。
Application.CutCopyMode = False
但这条语句仅能清空ExcelVBA自身的剪贴板。Excel与其他程序如Word交互时使用的是Windows剪贴板,使用VBA清空Windows剪贴板需要调用API函数,代码如下:
- Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
- Declare PtrSafe Function EmptyClipboard Lib "user32" () As LongPtr
- Declare PtrSafe Function CloseClipboard Lib "user32" () As LongPtr
- Sub ClearClipboard()
- OpenClipboard 0&
- EmptyClipboard
- CloseClipboard
- End Sub
复制代码
|