请问各位在Word的vba开发中,能不能以行为单位进行处理?

jhyc 2003-09-28 09:29:24
word的vba中有段,字,还有range对象,可就是找不到行,如果我想逐行进行处理的话,比如批量删除行,尤其是网页上带下来的手工换行符,该怎么处理?

前几天发了个贴,也没有得到合适的答复。。
重开。。。
等。。。。。。。。
...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhyc 2003-09-29
  • 打赏
  • 举报
回复
To xamcsdn2(知了):
上面的方法是得到段落的数目,而不是行数阿。
比如有一段,有10行的话,你的方法只能得到1,而我希望得到10,进而比如想得到第4行的那句话(确切说是那些文字),该怎么处理??

还有其他的方法么?
jlsg 2003-09-29
  • 打赏
  • 举报
回复
CInt(某Range.Characters.Count / Word.ActiveDocument.PageSetup.CharsLine)

使用上边的公式计算文档每一段的行数。

就是用字符数/一行允许的最大字符数,只能计算一段的。

通过行返回文字的方法,得自己写段程序了。

希望对你有用
jhyc 2003-09-28
  • 打赏
  • 举报
回复
To xamcsdn2(知了) :
反正简单地说,就是比如我有一篇word文档,有2000行,我在vba里怎么得到比如说第20行,当然最容易想到的办法就是 Activedocument.Lines(20),对吧,但word里没有lines这个object,那我该怎么取呢? word的tool菜单里有个统计功能,他就可以得到行数,那是怎么得到的?

还有哪些高人指点一下?
xamcsdn2 2003-09-28
  • 打赏
  • 举报
回复
能具体点吗?


换行符长度为2,比如 str有换行符
那str=Left(str,len(str)-2)为去掉换行符的str
xamcsdn2 2003-09-28
  • 打赏
  • 举报
回复
要知道行数 ubound(arrRange)
xamcsdn2 2003-09-28
  • 打赏
  • 举报
回复
统计单词数,可以由 ActiveDocument.words得到。
xamcsdn2 2003-09-28
  • 打赏
  • 举报
回复
xx = ActiveDocument.Range(ActiveDocument.Range.Start, ActiveDocument.Range.End).Text
MsgBox (xx)

Dim arrRange() As String

arrRange = Split(xx, Chr(13), -1, vbBinaryCompare)

MsgBox (arrRange(2)) '显示第三行的内容

不能有表格

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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