如何检查剪贴板中是否没有文本?

Jon*_*Jon 4 clipboard vba word-vba

如果我尝试从一个空的剪贴板粘贴,则会出现错误。我想在粘贴之前检查剪贴板中是否没有文本,以便避免这种情况。如何做到这一点?我知道可以通过错误处理来完成,但是我更喜欢避免错误的方法。

编辑-根据请求,添加创建错误和错误消息的代码:

导致问题的代码:

Sub PasteFromEmptyClipBoard()

    Selection.Paste

End Sub
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息:

在此处输入图片说明

“运行时错误'4605',此方法或属性不可用,因为剪贴板为空或无效。”

Jon*_*Jon 5

非常重要:在实现此代码之前,您必须首先设置对“ Microsoft Forms 2.0对象库”的引用(如下面的附件屏幕截图所示)。当您滚动参考库时,您可能会发现它不是一个选项。要显示它,只需向项目添加一个表单(您以后随时可以删除该表单)。

在此处输入图片说明

Sub CheckClipboard()

        Dim myDataObject As DataObject

        Set myDataObject = New DataObject


        myDataObject.GetFromClipboard


        If myDataObject.GetFormat(1) = True Then 

            '''There is text on clipboard, so it's safe to paste

        Else 
            '''there is no text on the clipboard, so you may get error.

        End If

End Sub
Run Code Online (Sandbox Code Playgroud)