关于VB读取word中某一行的问题,求求各位高手帮我解决下!!!

kobebryant29 2011-10-13 10:50:42
请问怎么用VB获取word文档里面的某一行的内容,然后相应的赋给文本框。我之前是用的代码如下
Set wDoc = wApp.Documents.Open(App.Path & "\2.doc")
Dim i As Long
Dim Data As String
Data = ""
For i = 1 To wDoc.Words.Count
Data = Data & wDoc.Words.Item(i)
Next i
Dim Arr As Variant
Arr = Split(Data, Chr(13))
If Combo1.Text = "Crushing" And Text1.Text < 4 And Text1.Text <> 0 Then
Text2.Text = Arr(119)
Text3.Text = Arr(121)
Text4.Text = Arr(122)
ElseIf Combo1.Text = "Crushing" And Text1.Text >= 4 Then
Text2.Text = Arr(10)
Text3.Text = Arr(11)
Text4.Text = Arr(12)
End If
但是这样运行,太慢了,我的word里面有三百多行?请问有没有简单运行起来快速的方法!!求求各位了!
...全文
280 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kobebryant29 2011-10-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sysdzw 的回复:]
引用 3 楼 kobebryant29 的回复:

实在是感谢楼上两位高手,今早我还在想是不是能用range,实在感谢,马上结贴,结分!!感谢!
楼主不会结贴啊,应该是主要提供答案的给几乎全分,遵循多劳多得平均分配的原则,其他路过的可给可不给,给的话最多也就是个位数,否则让人误认为倒分,也让1楼失望。
[/Quote]
不好意思啊,新手不是太明白,下一次就知道了,实在不好意思啊!!
无·法 2011-10-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kobebryant29 的回复:]

实在是感谢楼上两位高手,今早我还在想是不是能用range,实在感谢,马上结贴,结分!!感谢!
[/Quote]楼主不会结贴啊,应该是主要提供答案的给几乎全分,遵循多劳多得平均分配的原则,其他路过的可给可不给,给的话最多也就是个位数,否则让人误认为倒分,也让1楼失望。
无·法 2011-10-14
  • 打赏
  • 举报
回复
还有我也想到一块去了。...
kobebryant29 2011-10-14
  • 打赏
  • 举报
回复
实在是感谢楼上两位高手,今早我还在想是不是能用range,实在感谢,马上结贴,结分!!感谢!
贝隆 2011-10-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 patrickkong 的回复:]
Dim oWordApp As Object
Dim oDoc As Object
Dim strWord() As String

Set oWordApp = CreateObject("Word.Application")
Set oDoc = oWordApp.Documents.Open("C:\temp\123.doc", , True)
strW……
[/Quote]
和我想到一块儿去了。
  • 打赏
  • 举报
回复
Dim oWordApp As Object
Dim oDoc As Object
Dim strWord() As String

Set oWordApp = CreateObject("Word.Application")
Set oDoc = oWordApp.Documents.Open("C:\temp\123.doc", , True)
strWord = Split(oDoc.range.Text, Chr(13))

Text1 = strWord(1)
oDoc.Close True
oWordApp.Quit

Set oWordApp = Nothing
Set oDoc = Nothing

743

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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