将Myrange从段落减少为两行

时间:2018-12-04 07:51:27

标签: vba ms-word range word-vba paragraph

设置第一段的Myrange之后。我需要评估当前段落的行数,如果行数少于3,则以下代码会将字体变成粗体

Set Myrange= Selection.Range.PARAGRAPHS(1).Range

If Myrange.ComputeStatistics(wdStatisticLines) < 3 Then
Myrange.Font.Bold = True

Else

Set Twolines = myrange.Duplicate
'''Here I want to reduce Myrange to only 2 lines
End If

所以我的问题是如何将Myrange从段落更改为2行?

我一直在Selection method进行此操作,但不知道如何使用Ranges进行此操作。例如

Selection.ExtendMode = True
Selection.EndKey Unit:=wdLine
Selection.MoveDown Unit:=wdLine, Count:=2

1 个答案:

答案 0 :(得分:0)

使用Selection对象的方法实际上是唯一的方法。

Word文档中的“行”和“页面”在Word对象模型中没有相应的对象。例如,与WordsParagraphs不同,行和页面是“动态的”:发生换行或分页符的位置完全取决于Word的布局引擎如何与当前的打印驱动程序一起处理文档在特定的会话中。一台计算机上的换行或分页符很可能与另一台计算机上的不同。在编辑文档时,它们肯定会“流畅地”更改。

因此,就术语的意义而言,实际上不可能将一行或一页作为“对象”来处理。这就是为什么只能使用Selection处理这些问题的原因。