我尝试复制剪贴板中的所有文本框(当我左键单击文本框时)。我收到错误:用户定义的类型未定义。代码:
Sub TextBox1_Click()
Dim DataObject As DataObject
Set DataObject = New DataObject
DataObject.SetText Me.TextBox1.Text
DataObject.PutInClipboard
End Sub
有什么想法吗?
答案 0 :(得分:2)
您需要将其指定为MSForms.DataObject:
Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.SetText Me.TextBox1.Text
clipboard.PutInClipboard
答案 1 :(得分:1)
首先:您不能使用任何使用的名称命名变量,例如类型,内置函数,......
因此,将Dim DataObject As DataObject
更改为Dim AnyThingElseYouWant As DataObject
之后, 2选项,如果您仍有错误:
您可能需要明确地将DataObject引用为Forms库,例如
Dim Clipboard as MSForms.DataObject
您缺少参考:
如果引用列表中未列出MSForms
,请转到添加引用,然后单击“浏览...”按钮以自行查找该文件。
MSForms
位于名为FM20.dll
的文件中(至少对于版本2.0;其他版本将相应编号),该文件可能位于Windows \ System32文件夹中。
如果找不到该文件,可能会以某种方式被删除,您可能需要重新安装。