现在有一word文件,里面加了一个TextBox控件,还有一个Button按钮,在VB6里写代码怎么取到这个word里的textBox里的text值,还有怎么调用Button1_Click()这个事件?

解决方案 »

  1.   

    得到控件句柄后,用sendmessage分别给textbox和按钮发送wm_gettext和bm_click消息
      

  2.   

    word文档里面能插入控件?不知道....
      

  3.   

    WORD的VBE中切换到Thisdocument代码窗口,就可以在“属性”窗口中拉出控件列表,其实把document当成VB中的Form就可以了,规则相同。
    如:
    dim wdDoc as document
    .......
    msgbox wdDoc.TextBox1.Text要调用
    Private Sub CommandButton1_Click()End Sub
    应把Private去掉,这些都与Form一样。
      

  4.   

    请暴风雨高手给点代码,我是新手,不知道怎么得到句柄和发送,也请大头高手说的具体点,你说的好象是写在word里的,可是我是在VB6的工程里打开的一个22.doc文件,要得到里面的textBox1.text值.
    我的VB工程中的代码如下:
    Private Sub Command1_Click()
    Dim doc
    Set doc = CreateObject("word.application")
    doc.Visible = True
    doc.Documents.Open "c:\22.doc"
    'msgbox doc.ThisDocument.TextBox1.Text '这行报错,我该怎么写,请高手指点End Sub
      

  5.   

    我和暴风雨的意思一样
    只是这种方法需要打开一个word文档
    这个问题应该使用word对象解决是最好的
      

  6.   

    比如第一种
    以qq为例
    Option Explicit
    Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Private Const BM_CLICK = &HF5
    Private Const WM_SETTEXT = &HC
    Const WM_GETTEXT = &HD
    Const WM_GETTEXTLENGTH = &HEPrivate Sub Command3_Click()
    Dim t As Long
    Dim b As Long
    Dim d As Long
    Dim clong As Long
    t = FindWindow("#32770", vbNullString)
    b = FindWindowEx(t, ByVal 0&, "Edit", vbNullString)  '找到文本框的句柄
    Dim astr As String * 256
      
    SendMessage b, WM_SETTEXT, 0, ByVal Text1.Text  
    d = FindWindowEx(t, ByVal 0&, "Button", "登录")
    clong = SendMessage(b, WM_GETTEXTLENGTH, 0, vbNull)
    clong = Len(astr)
    SendMessage b, WM_GETTEXT, clong, ByVal astr
    Debug.Print astr
    SendMessage d, BM_CLICK, 0, 0   '发送消息点击按钮End Sub
      

  7.   

    Private Sub Command1_Click()
    dim wdApp
    Dim doc
    Set wdApp = CreateObject("word.application")
    wdApp.Visible = True
    set doc =wdApp.Documents.Open "c:\22.doc"
    msgbox doc.TextBox1.Text End Sub