注册 登录
编程论坛 VB6论坛

[求助] 如何在VB中读取word文件,并使word文件的内容显示在文本框中。

zeyidao 发布于 2007-10-16 10:47, 11873 次点击
如何在VB中读取word文件,并使word文件的内容显示在文本框中。
各位高手,请赐教。
本人通过引用word对象,也能打开文件;可是速度太慢了。
还有什么其他的方法吗?
9 回复
#2
zeyidao2007-10-16 11:09
word文件能用二进制方式打开,用get函数读数据吗?
#3
心中有剑2007-10-16 11:20

Private Sub CmdOpen_Click()
Dim lsFileName As String
Dim lsPath As String
Dim lsName As String
Dim lbApp As Boolean
Dim llCount As Long
Dim wordObj As Word.Application

'浏览要添加的的文件
CommonDialog1.CancelError = True '取消报错 并且跳出执行!
On Error GoTo err_cancel
CommonDialog1.DialogTitle = "选择要打开的Word文件"
'CommonDialog1.InitDir = App.Path
CommonDialog1.Filter = "Word文件(*.doc)|*.doc"
CommonDialog1.FileName = ""
CommonDialog1.ShowOpen
lsFileName = CommonDialog1.FileName '获取完整路径
lsName = CommonDialog1.FileTitle '只获取文件名
lsPath = Replace$(lsFileName, lsName, "") '获取文件所在的路径
'循环进行处理!判断是否存在打开的word进程 !
lbApp = False
Do While True
On Error Resume Next
Set wordObj = GetObject(, "Word.Application") '用于判断已经打开的word进程
If wordObj Is Nothing Then Exit Do '如果没有找到进程那么就退出循环
If wordObj.Documents.Count = 0 Then '如果是一个空进程就释放
wordObj.Quit
Set wordObj = Nothing
Else
For llCount = 1 To wordObj.Documents.Count '这个应用就是,手工打开文件的应用!
If Err.Number = 0 Then '有Word已经打开
If wordObj.Documents(llCount).FullName = lsFileName Then '判断是否有要打开的进程
Text1.Text = wordObj.Documents(llCount).Content.Text '这个是对文件的操作
GoTo endSub
End If
End If
lbApp = True
Next
End If
If llCount <> 0 Then Exit Do '所有打开的里面没有要打开的文件
Loop
Err.Clear
If lbApp = False Then
Set wordObj = CreateObject("Word.Application") '创建word应用类
wordObj.Visible = False
wordObj.Documents.Open (lsFileName)
Text1.Text = wordObj.ActiveDocument.Content.Text
wordObj.Quit
Set wordObj = Nothing
Else
wordObj.Documents.Open (lsFileName) '直接在原来的应用上打开文件
Text1.Text = wordObj.ActiveDocument.Content.Text
wordObj.ActiveDocument.Close (False) '关闭打开的文件'但是不关闭应用
End If
endSub:
MsgBox "成功"
Exit Sub
err_cancel:
MsgBox "你点的是取消"
End Sub

#4
zeyidao2007-10-16 18:54

先谢谢下!

#5
multiple19022007-10-16 19:03
以下是引用zeyidao在2007-10-16 11:09:10的发言:
word文件能用二进制方式打开,用get函数读数据吗?

问题是,文件格式你能读懂?

#6
hyhhd2007-10-17 21:16
不错!下了!
#7
cyd11102012-03-02 10:50
不错的,可是怎么就在读去了有了黑点儿了呢?楼主有解决了吗
#8
半夜星星2012-05-03 06:08
这个我试下来不行啊,“用户定义类型未定义”不知道哪里出错了啊
#9
yufenfei05092013-12-23 10:54
提示文件已打开,可是根本没打开啊!
#10
可爱夏天天2017-10-23 16:44
回复 楼主 zeyidao
您的vb读取word文档的程序可以参考一下吗?谢谢!!
1