把系统clipboard的内容拷贝到execl中,我打开OLE容器,但是
OLEExecl.CreateEmbed "", "Excel.Sheet"
OLEExecl.DoVerb vbOLEUIActivate
OLEExecl.PasteOK 总是FALSE那位大虾有办法,帮帮忙

解决方案 »

  1.   

    我这里有一个word相关的,希望对你有帮助:《将我的程序的文本直接送到WORD中(不用粘贴)》        程序只有一个form,其上有一个text。我想实现
        的功能如下
            首先调用miscrosoft word或其他文字处理软件,
        新建一个文档,然后运行程序,在文本框中输入文本。
        如果我这时候点击word的话(激活),怎么将文本框
        中输入的文字粘贴到word中。直接粘贴,不用ctrl-v.
    在"唯一"的form窗体中再添加一个timer控件(interval=200,如果运行不正常,可适当加大此值), (当然还
    有一个text),接着代码如下∶
    Private Declare Function GetForegroundWindow& Lib "user32" ()
    Private Declare Function GetWindowText& Lib "user32" Alias "GetWindowTextA" _
               (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long)
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte,
    _
               ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function MapVirtualKey& Lib "user32" Alias "MapVirtualKeyA" _
               (ByVal wCode As Long, ByVal wMapType As Long)Private Const VK_CONTROL& = &H11    'ctrl键的虚拟键值
    Private Const KEYEVENTF_KEYUP% = &H2
    Private Const VK_V& = &H56     'V键的ascii码值(虚拟键值)Private Sub Text1_Change()
        Timer1.Enabled = True
        Clipboard.Clear
        Clipboard.SetText Form1.Text1.Text
    End SubPrivate Sub Timer1_Timer()
        Dim dl1&, dl2&
        Dim Canp As String * 255
        dl1& = GetForegroundWindow&()    '获取当前活动窗口的句柄
        dl2& = GetWindowText&(dl1&, Canp$, 255)   '获取窗口的标题
        If Left(Canp$, 14) = "Microsoft Word" Then
             MyCapture 1
             Timer1.Enabled = False
        End If
    End Sub
    Public Sub MyCapture(ByVal mode%)      '生成一次模拟击键∶Ctrl+V
        Dim altscan%
        Dim dl&
        Dim snapparam%
            altscan% = MapVirtualKey(VK_CONTROL, 0)
            keybd_event VK_CONTROL, altscan, 0, 0
            keybd_event VK_V, 0, 0, 0
            keybd_event VK_CONTROL, altscan, KEYEVENTF_KEYUP, 0
    End Sub
       注∶本例程只适用于microsoft word.要适用于其他文字处理程序,请
    修改程序中的 If Left(Canp$, 14) = "Microsoft Word" Then 条件检测。
      

  2.   

    OLEExecl.object.sheet1.cells(1,1).Paste