在VB6里怎么取到word中的一个textBox里的text值?

jam021 2004-08-05 01:19:02
现在有一word文件,里面加了一个TextBox控件,还有一个Button按钮,在VB6里写代码怎么取到这个word里的textBox里的text值,还有怎么调用Button1_Click()这个事件?
...全文
228 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jam021 2004-08-05
  • 打赏
  • 举报
回复
多谢暴风雨,龙卷风和大头三位高手帮忙,给你们加分了!
hhjjhjhj 2004-08-05
  • 打赏
  • 举报
回复
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
online 2004-08-05
  • 打赏
  • 举报
回复
比如第一种
以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 = &HE

Private 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
online 2004-08-05
  • 打赏
  • 举报
回复
我和暴风雨的意思一样
只是这种方法需要打开一个word文档
这个问题应该使用word对象解决是最好的

jam021 2004-08-05
  • 打赏
  • 举报
回复
请暴风雨高手给点代码,我是新手,不知道怎么得到句柄和发送,也请大头高手说的具体点,你说的好象是写在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
hhjjhjhj 2004-08-05
  • 打赏
  • 举报
回复
WORD的VBE中切换到Thisdocument代码窗口,就可以在“属性”窗口中拉出控件列表,其实把document当成VB中的Form就可以了,规则相同。
如:
dim wdDoc as document
.......
msgbox wdDoc.TextBox1.Text

要调用
Private Sub CommandButton1_Click()

End Sub
应把Private去掉,这些都与Form一样。
supergreenbean 2004-08-05
  • 打赏
  • 举报
回复
word文档里面能插入控件?不知道....
rainstormmaster 2004-08-05
  • 打赏
  • 举报
回复
得到控件句柄后,用sendmessage分别给textbox和按钮发送wm_gettext和bm_click消息

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧