返回介绍

Range 方法

发布于 2019-09-29 09:59:39 字数 3652 浏览 1112 评论 0 收藏 0

全部显示

应用于 Document 对象的 Range 方法。

通过使用指定的开始和结束字符位置,返回一个 Range 对象。

expression.Range(Start, End)

expression 必需。该表达式返回一个 Document 对象。

StartVariant 类型,可选。开始字符位置。

EndVariant 类型,可选。结束字符位置。

应用于 CanvasShapes、GroupShapes 和 Shapes 对象的 Range 方法。

返回一个 ShapeRange 对象。

expression.Range(Index)

expression 必需。该表达式返回以上一个对象。

IndexVariant 类型,必需。指定在该范围中包含哪一个图形。可以是一个整数,用以指定在 Shapes 集合中某个图形的索引号;也可以是指定图形名称的字符串;或者是包含整数或字符串的 Variant 数组。

说明

在文档的开头从 0 开始的字符位置值。计数所有字符,包括非打印字符。隐藏字符也在计数之内,即使该字符并不显示出来。如果不为 Range 方法指定开始和结束字符位置,则将整篇文档作为一个 Range 对象返回。

ShapeRange 对象不包含 InlineShape 对象。一个 InlineShape 对象相当于一个字符,并像字符一样位于一定文字区域中。用 Shape 对象锁定一定区域的文字(默认情况下是锁定所选内容),但这些对象可以位于该页的任何位置。Shape 对象总是与锁定区域处于同一页。

对 Shape 对象进行的大部分有效操作也适用于只包含一个图形的 ShapeRange 对象。有些操作如果用于包含多个图形的 ShapeRange 对象,则会产生错误。

示例

当应用于 Document 对象时。

本示例为活动文档中的前 10 个字符设置加粗格式。

Sub DocumentRange()
    ActiveDocument.Range(Start:=0, End:=10).Bold = True
End Sub

本示例创建一个区域,该区域的起点位于活动文档的开始处,终点位于光标的位置,然后将该区域内的所有字符转换为大写。

Sub DocumentRange2()
    Dim r As Range
    Set r = ActiveDocument.Range(Start:=0, End:=Selection.End)
    r.Case = wdUpperCase
End Sub

本示例创建并设置 myRange 变量,使其包含活动文档的第三到第六段,然后右对齐该区域中的段落。

Sub DocumentRange3()
    Dim aDoc As Document
    Dim myRange As Range
    Set aDoc = ActiveDocument
    If aDoc.Paragraphs.Count >= 6 Then
        Set myRange = aDoc.Range(aDoc.Paragraphs(2).Range.Start, _
            aDoc.Paragraphs(4).Range.End)
        myRange.Paragraphs.Alignment = wdAlignParagraphRight
    End If
End Sub

当应用于 CanvasShapes、GroupShapes 和 Shapes 对象时。

本示例将活动文档第一个图形的填充前景色设置为紫色。

Sub ShRange()
    With ActiveDocument.Shapes.Range(1).Fill
        .ForeColor.RGB = RGB(255, 0, 255)
        .Visible = msoTrue
    End With
End Sub

本示例为活动文档中变量图形应用阴影。

Sub ShpRange2(strShpName As String)
    ActiveDocument.Shapes.Range(strShpName).Shadow.Type = msoShadow6
End Sub

若要调用前一个子程序,请在标准代码模块中输入下列代码。

Sub CallShpRange2()
    Dim shpArrow As Shape
    Dim strName As String

    Set shpArrow = ActiveDocument.Shapes.AddShape(Type:=msoShapeLeftArrow, _
        Left:=200, Top:=400, Width:=50, Height:=75)

    shpArrow.Name = "myShape"
    strName = shpArrow.Name
    ShpRange2 strShpName:=strName
End Sub

本示例选定活动文档的第一和第三个图形。

Sub SelectShapeRange()
    ActiveDocument.Shapes.Range(Array(1, 3)).Select
End Sub

本示例选定并删除活动文档第一个图形中的所有图形。本示例假定第一个图形是画布图形。

Sub CanvasShapeRange()
    Dim rngCanvasShapes As Range
    Set rngCanvasShapes = ActiveDocument.Shapes(1).CanvasItems.Range(1)
    rngCanvasShapes.Select
    rngCanvasShapes.Delete
End Sub

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文