vb操作word详解(5)

2019-06-11 13:56

Set myDoc = ActiveDocument

Set myRange = myDoc. Range (Start :=myDoc. Paragraphs(2). Range. Start, _

End :=myDoc. Paragraphs(4). Range. End)

以下的示例创建了一个Range对象(aRange),该对象起始于第二段的开头,到第三段之后结束。ParagraphFormat属性用来访问诸如SpaceBefore和SpaceAfter这样的设置段落格式的属性。

Set Doc = ActiveDocument

Set aRange = Doc. Range (Start :=Doc. Paragraphs(2). Range. Start, _

End :=Doc. Paragraphs(3). Range. End) With aRange. ParagraphFormat .Space1 .SpaceAfter = 6 .SpaceBefore = 6 End With

返回或设置范围中的文字

可以使用Text属性来返回或设置一个Range对象中的内容。以下的示例返回了活动文档中的第一个单词。

strText = ActiveDocument. Words(1). Text 以下示例将活动文档中的第一个单词改为“Hello”。 ActiveDocument. Words(1). Text = \

可以使用InsertAfter 方法或者InsertBefore方法在一个范围的前面或后面插入文字。以下的示例在活动文档的第二段之前插入文字。

ActiveDocument. Paragraphs(2). Range. InsertBefore Text :=\

在使用InsertAfter 方法或者InsertBefore方法之后,范围随之扩大,包含新的文字。但是,也可以使用Collapse方法将范围折叠到起始位置或终止位置。以下的示例在现有文档之前插入单词“Hello”,然后将范围折叠到它的起始位置(在单词“Hello”之前)。

With ActiveDocument.Paragraphs(2).Range .InsertBefore Text:=\.Collapse Direction:=wdCollapseStart End With

设置范围中文字的格式

可以使用Font属性来取得设置字符格式的属性和方法,而使用ParagraphFormat属性来取得设置段落格式的属性和方法。以下的示例设置了活动文档中第一段的字符格式和段落格式。

With ActiveDocument. Paragraphs(1). Range. Font .Name = \.Size = 14 .AllCaps = True

End With

With ActiveDocument.Paragraphs(1).Range. ParagraphFormat .LeftIndent = InchesToPoints(0.5) .Space1 End With

重新定义Range对象

可以使用SetRange方法来重新定义一个已经存在的Range对象。以下的示例定义myRange为当前的选定内容。SetRange方法重新定义myRange,使它表示当前的选定内容加上随后的十个字符。

Set myRange = Selection. Range

myRange.SetRange Start:=myRange.Start,End:=myRange.End + 10

要获得重新定义Range对象的其他信息和示例,请参阅“帮助”中“SetRange方法”。

用户也可以通过改变Start属性和End属性的值,或者使用MoveStart方法或MoveEnd方法来重新定义一个Range对象。以下的示例重新定义myRange对象,使它表示当前的选定内容加上随后的十个字符。

Set myRange = Selection.Range myRange.End = myRange.End + 10

以下的示例使用MoveEnd方法扩展了myRange,使它包含下一段。 Set myRange = ActiveDocument.Paragraphs(2)

myRange.MoveEnd Unit:=wdParagraph, Count:=1 在范围内的段落中循环

可以通过几种不同的方法在范围内的段落中进行循环。本节包含使用For Each...Next语句和Next属性及方法在范围内的段落中进行循环的内容。也可以使用同样的技术在范围内的字符、单词或句子中进行循环。

使用For Each...Next语句

建议在范围内进行段落循环时使用For Each...Next语句,另外建议在集合内进行循环时也同样使用该语句。以下的示例在获得文档的前五段中进行循环,在每段之前添加文字。

Set myDoc = ActiveDocument

Set myRange = myDoc.Range (Start:=myDoc.Paragraphs(1). Range.Start,End :=myDoc. Paragraphs(5).Range.End)

For Each para In myRange.Paragraphs para.Range.InsertBefore \Next para

假定用户想修改上述的代码,在范围内对用户选定的段落进行循环。可以使用Selection属性来表示选定内容中的各个段落。以下的示例在选定内容的段落中进行循环,去除加粗格式。

For Each para In Selection.Paragraphs para.Range.Bold = False Next para

使用Next属性或方法

用户也可以使用Next属性和方法在范围的段落中进行循环。以下的示例说明了怎样在范围的单词中进行循环,将每个单词增大一点字号。

Set myRange = ActiveDocument.Words(1) For i = 1 To 5

myRange. Font. Size = myRange. Font. Size + i Set myRange = myRange. Next(Unit :=wdWord, Count :=1) Next i

以下的示例在范围的段落中进行循环,将范围的对齐方式由居中改为左对齐。该示例也使用Next属性重新定义了myRange,使它表示下一段。

Set myRange = ActiveDocument.Paragraphs(1).Range For i = 1 To 5 If

myRange.Paragraphs(1).Alignment=

wdAlignParagraphCenter Then

myRange. Paragraphs(1). Alignment = wdAlignParagraphLeft End If

Set myRange = myRange. Paragraphs(1). Next. Range Next i

将Range对象赋值给变量

可以通过几种途径来把一个已经存在的Range对象赋给一个变


vb操作word详解(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高一物理必修1经典测试题及答案详解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: