如何在 mac excel vba 上清除剪贴板
How to clear clipboard on mac excel vba
Application.CutCopyMode=False
on windows excel 清除虚线并丢失剪贴板数据,这是可取的。
但MacOS却并非如此。 Mac 它清除了虚线,但剪贴板数据没有丢失。
是否有单行或任何方法可以清除 mac 和 windows 上的剪贴板?
我找到了这段代码 here,我没有也没有使用 Mac,所以我无法对此进行测试,但是通过阅读代码,它会将“”(换句话说,什么也没有)分配给此剪贴板.
希望这能奏效,或者至少能让你走上正确的方向
Public Function ClearMacClipBoard() As Boolean
Dim myDO As DataObject
On Error GoTo EndCMCB
Set myDO = New DataObject
myDO.SetText ""
myDO.PutInClipboard
Application.CutCopyMode = False
ClearMacClipBoard = True
EndCMCB:
On Error GoTo 0
End Function
编辑:
对 Windows 和 Mac
的评论略有改动
这应该跳过任何不会出现错误的代码行,因此当您尝试 运行 Mac 代码时 Windows 它会跳过它,反之亦然
Public Function ClearMacClipBoard() As Boolean
Dim myDO As DataObject
On Error GoTo Resume Next
Set myDO = New DataObject
myDO.SetText ""
myDO.PutInClipboard
Application.CutCopyMode = False
ClearMacClipBoard = True
On Error GoTo 0
End Function
Application.CutCopyMode=False
on windows excel 清除虚线并丢失剪贴板数据,这是可取的。
但MacOS却并非如此。 Mac 它清除了虚线,但剪贴板数据没有丢失。
是否有单行或任何方法可以清除 mac 和 windows 上的剪贴板?
我找到了这段代码 here,我没有也没有使用 Mac,所以我无法对此进行测试,但是通过阅读代码,它会将“”(换句话说,什么也没有)分配给此剪贴板.
希望这能奏效,或者至少能让你走上正确的方向
Public Function ClearMacClipBoard() As Boolean
Dim myDO As DataObject
On Error GoTo EndCMCB
Set myDO = New DataObject
myDO.SetText ""
myDO.PutInClipboard
Application.CutCopyMode = False
ClearMacClipBoard = True
EndCMCB:
On Error GoTo 0
End Function
编辑:
对 Windows 和 Mac
的评论略有改动这应该跳过任何不会出现错误的代码行,因此当您尝试 运行 Mac 代码时 Windows 它会跳过它,反之亦然
Public Function ClearMacClipBoard() As Boolean
Dim myDO As DataObject
On Error GoTo Resume Next
Set myDO = New DataObject
myDO.SetText ""
myDO.PutInClipboard
Application.CutCopyMode = False
ClearMacClipBoard = True
On Error GoTo 0
End Function