vb-读取Word文档内容
(2011-04-06 14:02:04)
标签:
vbword文档内容杂谈 |
分类: 程序设计 |
Private Sub CmdOpen_Click()
DimlsFileName As String
DimlsPath As String
DimlsName As String
DimlbApp As Boolean
DimllCount As Long
DimwordObj As Word.Application
'浏览要添加的的文件
CommonDialog1.CancelError= True '取消报错 并且跳出执行!
OnError 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
DoWhile True
OnError Resume Next
SetwordObj = GetObject(, "Word.Application") '用于判断已经打开的word进程
IfwordObj Is Nothing Then Exit Do '如果没有找到进程那么就退出循环
IfwordObj.Documents.Count = 0 Then '如果是一个空进程就释放
wordObj.Quit
SetwordObj = Nothing
Else
ForllCount = 1 To wordObj.Documents.Count '这个应用就是,手工打开文件的应用!
IfErr.Number = 0 Then '有Word已经打开
IfwordObj.Documents(llCount).FullName = lsFileName Then '判断是否有要打开的进程
Text1.Text= wordObj.Documents(llCount).Content.Text '这个是对文件的操作
GoToendSub
EndIf
EndIf
lbApp= True
Next
EndIf
IfllCount <> 0 Then Exit Do '所有打开的里面没有要打开的文件
Loop
Err.Clear
IflbApp = False Then
SetwordObj = CreateObject("Word.Application") '创建word应用类
wordObj.Visible= False
wordObj.Documents.Open(lsFileName)
Text1.Text= wordObj.ActiveDocument.Content.Text
wordObj.Quit
SetwordObj = Nothing
Else
wordObj.Documents.Open(lsFileName) '直接在原来的应用上打开文件
Text1.Text= wordObj.ActiveDocument.Content.Text
wordObj.ActiveDocument.Close(False) '关闭打开的文件'但是不关闭应用
EndIf
endSub:
MsgBox"成功"
ExitSub
err_cancel:
MsgBox"你点的是取消"
EndSub
Dim
Dim
Dim
Dim
Dim
Dim
'浏览要添加的的文件
CommonDialog1.CancelError
On
CommonDialog1.DialogTitle
'CommonDialog1.InitDir
CommonDialog1.Filter
CommonDialog1.FileName
CommonDialog1.ShowOpen
lsFileName
lsName
lsPath
'循环进行处理!判断是否存在打开的word进程
lbApp
Do
On
Set
If
If
wordObj.Quit
Set
Else
For
If
If
Text1.Text
GoTo
End
End
lbApp
Next
End
If
Loop
Err.Clear
If
Set
wordObj.Visible
wordObj.Documents.Open
Text1.Text
wordObj.Quit
Set
Else
wordObj.Documents.Open
Text1.Text
wordObj.ActiveDocument.Close
End
endSub:
MsgBox
Exit
err_cancel:
MsgBox
End
前一篇:VB+ACCESS2003