vba - 如何检查剪贴板是否为空文本?

标签 vba ms-word clipboard

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

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

导致问题的代码:

Sub PasteFromEmptyClipBoard()

    Selection.Paste

End Sub

我收到的错误消息:

enter image description here

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

最佳答案

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

enter image description here

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

关于vba - 如何检查剪贴板是否为空文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595258/

相关文章:

c# - 自定义 C# DLL 出现 VBA 429 错误

php - 来自 Word 粘贴的文本区域输入在 MySQL 中存储为无意义

c# - Word 加载项 : Getting user credentials which were used to open the document from SharePoint

batch-file - 通过 .bat 文件从 .txt 文件复制到剪贴板

c++ - 如何在 VC++ 中将 HTML Unicode 文本设置为剪贴板?

javascript - 如何将链接复制到剪贴板,以便在所见即所得编辑器(JS、jQuery)中使用它

mysql - Excel VBA 到 SQL 数据库

excel - 错误处理在Error.Number 3021上无法按预期工作

excel - 选择列中的所有空白单元格

ms-word - 通过分节符连续进行页码编号