这是一段word,vba可以执行的代码Dim MyData As DataObject
Private Sub CommandButton1_Click()
    TextBox1.SelStart = 0
    TextBox1.SelLength = TextBox1.TextLength
    TextBox1.Copy    MyData.GetFromClipboard
    TextBox2.Text = MyData.GetText(1)
End SubPrivate Sub UserForm_Initialize()
    Set MyData = New DataObject
    TextBox1.Text = "Move this data to the " _
        & "Clipboard, to a DataObject, then to " & "TextBox2!"
End Sub但是放到vb里却不能执行, 提示没有TextLength和TextBox1.Copy为什么呢?

解决方案 »

  1.   

    TextBox1.SelLength = TextBox1.TextLength
    修改为
    TextBox1.SelLength = Len(TextBox1.Text)TextBox1.Copy
    修改为
    ClipBoard.Clear
    ClipBoard.SetText TextBox1.SelText
      

  2.   

    其实原因就是你在VBA用的那个TextBox是Forms2.0库里控件,他的那个TextLength 属性是VB6里标准控件TextBox所没有的
      

  3.   

    VBA里用的控件与VB6里用的控件不是同一套控件,它们的属性当然也就不同。所不能直接运行要做适当修改才行。