将文本框复制到剪贴板

我尝试复制剪贴板中的所有文本框(当我在文本框上左键单击时)。 我得到一个错误: 用户定义的types没有定义 。 代码:

Sub TextBox1_Click() Dim DataObject As DataObject Set DataObject = New DataObject DataObject.SetText Me.TextBox1.Text DataObject.PutInClipboard End Sub 

任何想法?

首先:你不能用types,内build函数等任何名字命名variables。
所以将Dim DataObject As DataObject改为Dim AnyThingElseYouWant As DataObject

之后, 如果您仍然有错误 ,请select2个选项

  1. 您可能需要显式引用数据对象的forms库像
    Dim Clipboard as MSForms.DataObject

  2. 你缺less一个参考:

如果MSForms没有在参考列表中列出,去添加一个参考,然后点击“浏览…”button来自己查找文件。

MSForms是在一个名为FM20.dll的文件中(至less对于2.0版本;其他版本将相应地编号),这可能在您的Windows \ System32文件夹中。

如果找不到该文件,则可能不知何故被清除,您可能需要重新安装。

您需要将其指定为MSForms.DataObject:

 Dim clipboard As MSForms.DataObject Set clipboard = New MSForms.DataObject clipboard.SetText Me.TextBox1.Text clipboard.PutInClipboard