VBA编写代码获得word每一行的单词,如何做才对

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:14:45
我头都大了。。希望大家帮忙。
需求很简单,就是一个word的doc里每一行有一个单词。文件很大。。
比如:
this
when
that
.....

我想用VBA来获取每一行的单词,然后输出到一个文件里。我自己试着写了下,就是不对。。不知道是不是函数选错了错了。。

Sub Macro1()
On Error Resume Next
Open "c:\a.csd" For Output As #1
For hs = 1 To ActiveDocument.BuiltInDocumentProperties("Number of lines").Value

Print #1, ActiveDocument.Words(hs).Text;

Next
Close #1
End Sub

不能全部输出,困扰我很久了,求大家帮忙。。

设文档共20行,500个字

hs代表文档的行数,从第1行到第20行
hs = 1 To ActiveDocument.BuiltInDocumentProperties("Number of lines").Value

在写入时,Print #1, ActiveDocument.Words(hs).text,表示只写到第20个字就结结束了,而不是第20行。

如果要把所有的字写到a.csd中,则"Number of lines"可改为Number of words,如果只写每行的第一个单词,则
ActiveDocument.Words(hs)改为ActiveDocument.lines(hs).Words(1)(查一下有没有lines这个对象)