如何在 mac excel vba 上清除剪贴板


Windows

Excel上的Application.CutCopyMode=False清除虚线,剪贴板数据丢失,这是可取的。

但对于Mac OS来说,情况并非如此。在Mac上,它会清除虚线,但剪贴板数据不会丢失。

是否有一行或任何方法可以清除Mac和Windows上的剪贴板?

我在这里找到了这段代码,我没有或使用 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上工作

这应该跳过任何会出错的代码行,所以当你尝试在Windows上运行Mac代码时,它只会跳过它,反之亦然

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

最新更新