加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vb-读取Word文档内容

(2011-04-06 14:02:04)
标签:

vb

word

文档内容

杂谈

分类: 程序设计
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 Then '如果是一个空进程就释放
wordObj.Quit
Set wordObj Nothing
Else
For llCount To wordObj.Documents.Count '这个应用就是,手工打开文件的应用!
If Err.Number 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 <> 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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有