复制文本框中的数据

有时,我们需要从用户窗体的文本框中复制数据,然后将其粘贴到其它地方。下面举例说明具体的操作方法。
示例一:如下图1所示,在示例窗体中有一个文本框和一个命令按钮。当窗体被激活时,文本框中自动显示文字“完美Excel”,单击“复制”按钮后,将文本框中的数据复制到剪贴板。

test11

test11

图1:带有文本框和命令按钮的用户窗体
首先,按图1设计好用户窗体界面。然后,在该用户窗体模块中,输入下列代码:
Dim myClipboard As New DataObject

Private Sub UserForm_Activate()
    Me.TextBox1.Value = “完美Excel”
End Sub

Private Sub CommandButton1_Click()
  With myClipboard
    .SetText Me.TextBox1.Text
    .PutInClipboard
  End With
End Sub

示例二:在用户窗体中有多个文本框,要求单击按钮后将有数据的文本框中的数据全部复制到剪贴板。

test21

test21

图2:带有6个文本框和1个命令按钮的用户窗体
首先,按图2设计好用户窗体界面。然后,在用户窗体模块中,输入下列代码:
Dim strUnion As String

Private Sub CommandButton1_Click()
    Dim dObj As DataObject
    With Me
        If Not .TextBox1 = Empty Then strUnion = strUnion & .TextBox1
        If Not .TextBox2 = Empty Then strUnion = strUnion & vbCrLf & .TextBox2
        If Not .TextBox3 = Empty Then strUnion = strUnion & vbCrLf & .TextBox3
        If Not .TextBox4 = Empty Then strUnion = strUnion & vbCrLf & .TextBox4
        If Not .TextBox5 = Empty Then strUnion = strUnion & vbCrLf & .TextBox5
        If Not .TextBox6 = Empty Then strUnion = strUnion & vbCrLf & .TextBox6
    End With
    
    Set dObj = New DataObject
    
    dObj.SetText strUnion, 1
    dObj.PutInClipboard
End Sub


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

留下回复