是将当前单元格中的值传至dataobject中,然后dataobject再将值传至剪贴板(clipboard)中,最后使用paste方法,将值传至另一个text控件中,具体程序如下所示:
Dim MyData As DataObject Private Sub CommandButton1_Click() Set MyData = New DataObject '在把文本复制到剪切板之前,需要选定一有文本单元格 MyData.SetText (ActiveCell.Value) MyData.PutInClipboard TextBox1.Paste End Sub Private Sub CommandButton2_Click() '将剪贴板内容输出到当前单元格 Set MyData = New DataObject MyData.GetFromClipboard MsgBox "MyData已经从剪贴板得到内容--【" & MyData.GetText & "】" ActiveCell.Value = MyData.GetText End Sub
需要注意的,在使用使用MyData这个DataObject时,若是无法使用其的PutInClipboard方法.则需要在 "工程--引用 "菜单中进行相关的引用的添加,才能使用DataObject。
其实,在excel中拖入两个按钮和一个文本框,就自动引用了所需要的那个lib库。
若未能解决问题,请手动添加 c:/windows/system32/FM20.DLL这个引用,FM20.DLL 是Microsoft Forms 2.0 Object Library。