如何在 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