处理Selection对象和Range对象——Word VBA中重要的两个对象

VBA Selection对象的使用(不连续单元格的批量处理) 本文主要介绍如何使用VBA selection 对象对excel不连续单元格做填充,截取,复制粘贴,删除等的批量处理。 阅读详情
AI摘要

本文介绍了如何在Microsoft Office Word中使用Selection对象和Range对象进行文档的选定、修改和格式化操作,包括复制、粘贴、插入文本、更改字体、应用格式等基本功能。此外,文章还探讨了如何通过Selection和Range对象的属性和方法来实现更复杂的文档管理任务,如选择特定段落、应用格式化、插入和删除内容等。

Selection 对象

代表窗口或窗格中的当前所选内容。所选内容代表文档中选定(或突出显示)的区域,如果文档中没有选定任何内容,则代表插入点。每个文档窗格只能有一个 Selection 对象,并且在整个应用程序中只能有一个活动的 Selection 对象。
说明
可以使用 Selection 属性返回 Selection 对象。如果 Selection 属性未使用对象限定符,则 Microsoft Office Word 返回活动文档窗口的活动窗格中的所选内容。以下示例从活动文档中复制当前所选内容。
Selection.Copy
以下示例删除 Documents 集合中第三个文档的所选内容。访问该文档的当前所选内容时,该文档无需处于活动状态。
Documents(3).ActiveWindow.Selection.Cut
以下示例复制活动文档第一个窗格中的所选内容,并将其粘贴到第二个窗格中。

ActiveDocument.ActiveWindow.Panes(1).Selection.Copy
ActiveDocument.ActiveWindow.Panes(2).Selection.Paste

Text 属性是 Selection 对象的默认属性。使用此属性可设置或返回当前所选内容中的文本。以下示例将当前所选内容中的文本赋给变量 strTemp。如果最后一个字符是段落标记,则删除该字符。

Dim strTemp as String
strTemp = Selection.Text
If Right(strTemp, 1) = vbCr Then  strTemp = Left(strTemp, Len(strTemp) - 1)

Selection 对象有多种方法和属性,可用于折叠、扩展或以其他方式更改当前所选内容。
以下示例将插入点移至文档末尾并选择最后三行。

Selection.EndOf Unit:=wdStory, Extend:=wdMove
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend

Selection 对象有多种方法和属性,可用于编辑文档中的所选文字。
以下示例选择活动文档中的第一句,并用新段落替换该句。

Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "Material below is confidential."
Selection.TypeParagraph

以下示例删除 Documents 集合中第一个文档的最后一段,并将其粘贴到第二个文档的开头。

With Documents(1)
    .Paragraphs.Last.Range.Select
    .ActiveWindow.Selection.Cut
End With
With Documents(2).ActiveWindow.Selection
    .StartOf Unit:=wdStory, Extend:=wdMove
    .Paste
End With

Selection 对象有多种方法和属性,可用于更改当前所选内容的格式。
以下示例将当前所选内容的字体从 Times New Roman 更改为 Tahoma。

If Selection.Font.Name = "Times New Roman" Then 
   Selection.Font.Name = "Tahoma"
End If
可以使用 Flags、Information 和 Type 等属性返回有关当前所选内容的信息。您可以在某个过程中使用以下示例来确定活动文档中是否选择了内容,如果未选择,则跳过该过程的其余部分。
If Selection.Type = wdSelectionIP Then
    MsgBox Prompt:="You have not selected any text! Exiting procedure..."
    Exit Sub
End If

即使将所选内容折叠到插入点,相应内容也不一定为空。例如,Text属性仍将字符返回到插入点右侧,此字符也会出现在 Selection 对象的 Characters 集合中。但是,从折叠的所选内容调用 Cut 或 Copy 等方法将引起错误。

用户可以选择文档中不代表连续文本的区域(例如,在使用 Alt 键和鼠标时)。由于这种所选内容的行为不可预知,因此,您可能希望在代码中包含一个步骤,先检查所选内容的 Type 属性,然后再对它执行任意操作 (Selection.Type = wdSelectionBlock)。同样,包含表格单元格的所选内容也会导致不可预知的行为。Information 属性将指示所选内容是否在某个表中 (Selection.Information(wdWithinTable) = True)。以下示例确定所选内容是否正常(例如,它不是表中的行或列,也不是垂直文本块,等等),您可以先用该示例对当前所选内容进行测试,然后再对它执行任意操作。

If Selection.Type <> wdSelectionNormal Then
    MsgBox Prompt:="Not a valid selection! Exiting procedure..."
    Exit Sub
End If

由于 Range 对象与 Selection 对象的许多方法和属性都相同,因此,如果没有必要对当前所选内容进行实际更改,最好使用 Range 对象来处理文档。有关 Selection 对象和 Range 对象的详细信息,请参阅处理 Selection 对象和处理 Range 对象。

=================================================================================

处理 Selection 对象

用 Microsoft Office Word 处理文档时,通常先选定文字,然后对所选内容执行操作,例如设置文字格式或键入文字。在 Microsoft Visual Basic 中,通常不需要在修改文字前先选定文字,而是创建一个引用文档中特定区域的 Range 对象。有关定义 Range 对象的信息,请参阅处理 Range 对象。但是,如果希望代码响应或更改所选内容,则可使用 Selection 对象。
如果尚未选定文本,可使用 Select 方法选择与特定对象关联的文本并创建一个 Selection 对象。例如,下面的指令选定活动文档中的第一个单词。

Sub SelectFirstWord()
    ActiveDocument.Words(1).Select
End Sub

有关详细信息,请参阅在文档中选定文字。

如果已经选定文本,可使用 Selection 属性返回一个 Selection 对象,该对象表示文档中当前选定的内容。每个文档只能有一个 Selection 对象,该对象始终访问当前选定内容。
下面的示例更改当前选定内容中段落的格式。

Sub FormatSelection()
    Selection.Paragraphs.LeftIndent = InchesToPoints(0.5)
End Sub

本示例在当前选定内容后插入单词“Hello”。

Sub InsertTextAfterSelection()
    Selection.InsertAfter Text:="Hello "
End Sub

本示例对选定文本应用加粗格式。

Sub BoldSelectedText()
    Selection.Font.Bold = True
End Sub

宏录制器经常会创建使用 Selection 对象的宏。
下面的示例是使用宏录制器创建的。该宏选择活动文档中的前两个单词并对其应用加粗格式。

Sub Macro()
    Selection.HomeKey Unit:=wdStory
    Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
    Selection.Font.Bold = wdToggle
End Sub

下面的示例完成相同的任务,但不选择文本,也不使用 Selection 对象。

Sub WorkingWithRanges()
    ActiveDocument.Range(Start:=0,End:=ActiveDocument.Words(2).End).Bold = True
End Sub

=================================================================================

Range 对象

代表文档中的一个连续区域。每个 Range 对象由一个起始字符位置和一个终止字符位置定义。

说明
与书签在文档中的使用方法类似,Range 对象在 Visual Basic 过程中用来标识文档的特定部分。但与书签不同的是,Range 对象只在定义该对象的过程运行时才存在。Range 对象独立于所选内容。也就是说,您可以定义和处理一个范围而无需更改所选内容。还可以在文档中定义多个范围,但每个窗格中只能有一个所选内容。
使用 Range 方法可返回一个 Range 对象,该对象由指定的起始和终止字符位置定义。
以下示例返回一个代表活动文档中前 10 个字符的 Range 对象。
Set myRange = ActiveDocument.Range(Start:=0, End:=10)

使用 Range 属性可返回一个 Range 对象,该对象由另一对象的起点和终点定义。Range 属性可应用于许多对象(例如,Paragraph、Bookmark 和 Cell)。
以下示例返回一个代表活动文档中第一段的 Range 对象。
Set aRange = ActiveDocument.Paragraphs(1).Range

以下示例返回一个代表活动文档中第二至第四段的 Range 对象。

Set aRange = ActiveDocument.Range( _
    Start:=ActiveDocument.Paragraphs(2).Range.Start, _
    End:=ActiveDocument.Paragraphs(4).Range.End)

有关处理 Range 对象的详细信息,请参阅处理 Range 对象。

=================================================================================

处理 Range 对象

全部显示
全部隐藏
使用 Microsoft Visual Basic 完成的一种常见任务是在文档中指定一个区域,然后对该区域进行某些操作,如插入文字或应用格式。例如,您可能需要编写一个宏,用于在文档的某部分中查找一个单词或词组。该文档部分可以用 Range 对象表示。标识 Range 对象后,就可以应用 Range 对象的方法和属性来修改该区域的内容。
Range 对象引用文档中的某一连续区域。每个 Range 对象都是通过开始和结束字符位置来定义的。与在文档中使用书签的方法类似,在 Visual Basic 过程中使用 Range 对象可以标识文档中的特定部分。Range 对象可以小至一个插入点,或大至整个文档。但是与书签不同,Range 对象只在定义它的过程运行时才存在。
Start、End 和 StoryType 属性唯一地标识一个 Range 对象。Start 和 End 属性返回或设置 Range 对象的开始和结束字符的位置。文档开始处的字符位置为 0,第一个字符后的位置为 1,依此类推。StoryType 属性的 WdStoryType 常量可以代表 11 种不同的文章类型。
注释
Range 对象与所选内容无关。也就是说,可以定义和修改某区域而不改变当前的所选内容。也可定义文档中的多个区域,而每个文档窗格中只有一处所选内容。

  • 使用 Range 方法

使用 Document 对象的 Range 方法可创建一个 Range 对象,该对象位于主文字部分 (文章:单个文本框或一串相链接文本框中包含的文字。)中并具有给定的起点和终点。下面的示例创建一个 Range 对象,该对象从第一个字符的开始位置开始并延伸到第十个字符。

Sub SetNewRange()
    Dim rngDoc As Range
    Set rngDoc = ActiveDocument.Range(Start:=0, End:=10)
End Sub

将属性或方法应用于 Range 对象时,可以看到已经创建了 Range 对象。下面的示例对活动文档的前 10 个字符应用加粗格式。

Sub SetBoldRange()
    Dim rngDoc As Range
    Set rngDoc = ActiveDocument.Range(Start:=0, End:=10)
    rngDoc.Bold = True
End Sub

如果需要多次引用一个 Range 对象,可使用 Set 语句设置一个其值为该 Range 对象的变量。但是,如果仅需要对 Range 对象执行一次操作,则不必将该对象存储在变量中。只使用一个标识区域并更改 Bold 属性的指令,也能得到相同的结果。

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

类似于书签,一个区域可以跨越一组字符或标记文档中的某个位置。下列示例中的 Range 对象的开始和结束位置相同。该区域不包含任何文字。下列示例在活动文档的开头插入文字。

Sub InsertTextBeforeRange()
    Dim rngDoc As Range
    Set rngDoc = ActiveDocument.Range(Start:=0, End:=0)
    rngDoc.InsertBefore "Hello "
End Sub

可以使用上述字符位置编号,或通过将 Start 和 End 属性用于 Selection、Bookmark 或 Range 等对象,来定义区域的开始和结束位置。下面的示例创建一个 Range 对象,该对象从第二段开头开始,至第三段末尾结束。

Sub NewRange()
    Dim doc As Document
    Dim rngDoc As Range
    Set doc = ActiveDocument
    Set rngDoc = doc.Range(Start:=doc.Paragraphs(2).Range.Start, _
        End:=doc.Paragraphs(3).Range.End)
End Sub

有关其他信息和示例,请参阅 Range 方法。

  • 使用 Range 属性

有多个对象具有 Range 属性,如 Paragraph、Bookmark 和 Cell。该属性用于返回 Range 对象。下面的示例返回一个 Range 对象,该对象引用活动文档中的第一段。

Sub SetParagraphRange()
    Dim rngParagraph As Range
    Set rngParagraph = ActiveDocument.Paragraphs(1).Range
End Sub

得到 Range 对象后,可使用它的任何属性或方法来修改该 Range 对象。下列示例选定活动文档中的第二个段落并将所选内容居中。

Sub FormatRange()
    ActiveDocument.Paragraphs(2).Range.Select
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
End Sub

若要对同一个 Range 对象应用多种属性或方法,可使用 With…End With 结构。下列示例设置活动文档中第一段的文字格式。

Sub FormatFirstParagraph()
    Dim rngParagraph As Range
    Set rngParagraph = ActiveDocument.Paragraphs(1).Range
    With rngParagraph
        .Bold = True
        .ParagraphFormat.Alignment = wdAlignParagraphCenter
        With .Font
            .Name = "Stencil"
            .Size = 15
        End With
    End With
End Sub

有关其他信息和示例,请参阅 Range 属性主题。

  • 重新定义 Range 对象

使用 SetRange 方法可重新定义现有的 Range 对象。下面的示例将一个区域定义为当前的所选内容。然后应用 SetRange 方法以重新定义该区域,使之包含当前所选内容和接下来的 10 个字符。

Sub ExpandRange()
    Dim rngParagraph As Range
    Set rngParagraph = Selection.Range
    rngParagraph.SetRange Start:=rngParagraph.Start, _
        End:=rngParagraph.End + 10
End Sub

有关其他信息和示例,请参阅 Document 的 Range 方法。
注释
调试宏时,可以使用 Select 方法确保 Range 对象引用正确的文本区域。例如,下面的示例选择一个 Range 对象,该对象引用活动文档中的第二段和第三段,然后设置所选内容的字体格式。

Sub SelectRange()
    Dim rngParagraph As Range
    Set rngParagraph = ActiveDocument.Paragraphs(2).Range
    rngParagraph.SetRange Start:=rngParagraph.Start, _
        End:=ActiveDocument.Paragraphs(3).Range.End
    rngParagraph.Select
    Selection.Font.Italic = True
End Sub

=========================================================================

WdStoryType 枚举
指定选定内容或项目的部分类型。
|名称 |值描述|
|wdCommentsStory|4|批注部分。|
|wdEndnoteContinuationNoticeStory|17|尾注延续标记部分。|
wdEndnoteContinuationSeparatorStory 16 尾注延续分隔符部分。
wdEndnoteSeparatorStory 15 尾注分隔符部分。
wdEndnotesStory 3 尾注部分。
wdEvenPagesFooterStory 8 偶数页页脚部分。
wdEvenPagesHeaderStory 6 偶数页页眉部分。
wdFirstPageFooterStory 11 首页页脚部分。
wdFirstPageHeaderStory 10 首页页眉部分。
wdFootnoteContinuationNoticeStory 14 脚注延续标记部分。
wdFootnoteContinuationSeparatorStory 13 脚注延续分隔符部分。
wdFootnoteSeparatorStory 12 脚注分隔符部分。
wdFootnotesStory 2 脚注部分。
wdMainTextStory 1 正文部分。
wdPrimaryFooterStory 9 主页脚部分。
wdPrimaryHeaderStory 7 主页眉部分。
**wdTextFrameStory 5 文本框架部分。
=========================================================================**
WdUnits 枚举
指定要使用的度量单位。
名称 值 描述
wdCell 12 单元格。
wdCharacter 1 字符。
wdCharacterFormatting 13 字符格式。
wdColumn 9 列。
wdItem 16 所选项。
wdLine 5 一个线段。
wdParagraph 4 段落。
wdParagraphFormatting 14 段落格式。
wdRow 10 行。
wdScreen 7 屏幕尺寸。
wdSection 8 一节。
wdSentence 3 句子。
wdStory 6 部分。
wdTable 15 一个表格。
wdWindow 11 窗口。
wdWord 2 字。

=========================================================================
WdSelectionType 枚举
指定选择类型。
名称 值 描述
wdNoSelection 0 没有选定内容。
wdSelectionBlock 6 列方式选定。
wdSelectionColumn 4 列选择。
wdSelectionFrame 3 框架选择。
wdSelectionInlineShape 7 内嵌形状选择。
wdSelectionIP 1 内嵌段落选择。
wdSelectionNormal 2 标准的或用户定义的选择容。
wdSelectionRow 5 行选择。
wdSelectionShape 8 形状选择。

=========================================================================

Selection.Information 属性
返回有关指定的选定内容的信息。Variant 类型,只读。
语法
表达式.Information(Type)
表达式 必选。一个代表 Selection 对象的变量。
参数
名称 必选/可选 数据类型 描述
Type 必选 WdInformation 信息类型。
示例

本示例显示当前页码和活动文档的总页数。

Visual Basic for Applications
MsgBox "The selection is on page " & _
    Selection.Information(wdActiveEndPageNumber) & " of page " _
    & Selection.Information(wdNumberOfPagesInDocument)

如果选定内容位于一个表格中,则本示例选定该表格。

Visual Basic for Applications
If Selection.Information(wdWithInTable) Then  Selection.Tables(1).Select

本示例显示一条消息,表明当前的节号。

Visual Basic for Applications
Selection.Collapse Direction:=wdCollapseStart
MsgBox "The insertion point is in section " & _
    Selection.Information(wdActiveEndSectionNumber)

======================================================================

WdInformation 枚举
指定返回的涉及指定所选内容或区域的信息的类型。
名称 值 描述
wdActiveEndAdjustedPageNumber 1 返回页码,在该页中包含指定的所选内容或区域的活动结尾。如果设置一个起始页码或进行其他手动调整,则返回经调整的页码(与 wdActiveEndPageNumber 不同)。
wdActiveEndPageNumber 3 返回页码,在该页中包含指定的所选内容或区域的活动结尾。从文档开头计数。忽略任何对页码的手动调整(与 wdActiveEndAdjustedPageNumber 不同)。
wdActiveEndSectionNumber 2 返回节号,在该节中包含了指定的所选内容或区域的活动结尾。
wdAtEndOfRowMarker 31 如果指定的所选内容或区域位于表格的行结尾标记处,则该参数返回 True。
wdCapsLock 21 如果 Caps Lock 有效,则该参数返回 True。
wdEndOfRangeColumnNumber 17 返回表格列号,在该表格列中包含指定的所选内容或区域的结尾。
wdEndOfRangeRowNumber 14 返回表格行号,在该表格行中包含指定的所选内容或区域的结尾。
wdFirstCharacterColumnNumber 9 返回指定的所选内容或区域中第一个字符的位置。如果所选内容或区域是折叠的,则返回紧靠所选内容或区域右侧的字符编号(该编号与状态栏中“列”后面的字符列数相同)。
wdFirstCharacterLineNumber 10 返回指定的所选内容或区域中第一个字符的位置。如果所选内容或区域是折叠的,则返回紧靠所选内容或区域右侧的字符编号(该编号与状态栏中“行”后面的字符行数相同)。
wdFrameIsSelected 11 如果所选内容或区域是一个完整的图文框或文本框,则该参数返回 True。
wdHeaderFooterType 33 返回一个值,该值指示包含了指定所选内容或区域的页眉或页脚的类型。有关其他信息,请参阅“注解”部分中的表。
wdHorizontalPositionRelativeToPage 5 返回指定的所选内容或区域的水平位置。该位置是所选内容或区域的左边缘与页面的左边缘之间的距离,以磅为单位(1 磅 = 20 缇,72 磅 = 1 英寸)。如果所选内容或区域未显示在屏幕上,则该参数返回 -1。
wdHorizontalPositionRelativeToTextBoundary 7 返回指定所选内容或区域相对于周围最近的正文边界左边缘的水平位置,以磅为单位(1 磅 = 20 缇,72 磅 = 1 英寸)。如果所选内容或区域未显示在屏幕上,则该参数返回 -1。
wdInClipboard 38 有关该常量的信息,请参阅包含在 Microsoft Office Macintosh Edition 中的语言参考帮助。
wdInCommentPane 26 如果指定的所选内容或区域位于批注窗格,则该参数返回 True。
wdInEndnote 36 如果指定的所选内容或区域位于页面视图的尾注区内,或者位于普通视图的尾注窗格中,则该参数返回 True。
wdInFootnote 35 如果指定的所选内容或区域位于页面视图的脚注区内,或者位于普通视图的脚注窗格中,则该参数返回 True。
wdInFootnoteEndnotePane 25 如果指定的所选内容或区域位于普通视图的脚注或尾注窗格中,或页面视图的脚注或尾注区内,则该参数返回 True。有关详细信息,请参阅前面关于 wdInFootnote 和 wdInEndnote 的说明。
wdInHeaderFooter 28 如果指定的所选内容或区域位于页眉或页脚窗格中,或者位于页面视图的页眉或页脚中,则该参数返回 True。
wdInMasterDocument 34 如果所选内容或区域位于主控文档(即至少包含一个子文档的文档)中,则该参数返回 True。
wdInWordMail 37 如果指定的所选内容或区域位于页眉或页脚窗格中,或者位于页面视图的页眉或页脚中,则该参数返回 True。
wdMaximumNumberOfColumns 18 返回所选内容或区域中任何行的最大表格列数。
wdMaximumNumberOfRows 15 返回指定的所选内容或区域中表格的最大行数。
wdNumberOfPagesInDocument 4 返回与所选内容或区域相关联的文档的页数。
wdNumLock 22 如果 Num Lock 有效,则该参数返回 True。
wdOverType 23 如果启用改写模式,则该参数返回 True。可使用 Overtype 属性改变改写模式的状态。
wdReferenceOfType 32 返回一个值,该值表明所选内容相对于脚注、尾注或批注引用的位置,如“注解”部分中的表所示。
wdRevisionMarking 24 如果打开修订功能,则该参数返回 True。
wdSelectionMode 20 返回一个值,该值表明当前的选定模式,如下表所示。
wdStartOfRangeColumnNumber 16 返回表格列号,在该表格列中包含所选内容或区域的起点。
wdStartOfRangeRowNumber 13 返回表格行号,在该表格行中包含所选内容或区域的起点。
wdVerticalPositionRelativeToPage 6 返回所选内容或区域的垂直位置,即所选内容的上边缘与页面的上边缘之间的距离,以磅为单位(1 磅 = 20 缇,72 磅 = 1 英寸)。如果所选内容未显示在文档窗口中,则该参数返回 -1。
wdVerticalPositionRelativeToTextBoundary 8 返回所选内容或区域相对于周围最近的正文边界的上边缘的垂直位置,以磅为单位(1 磅 = 20 缇,72 磅 = 1 英寸)。该参数可用于在图文框或表格中确定插入点位置。如果所选内容未显示在屏幕中,则该参数返回 -1。
wdWithInTable 12 如果所选内容位于表格中,则该参数返回 True。
wdZoomPercentage 19 返回由 Percentage 属性设置的当前的放大百分比。
说明

下表列出了 wdHeaderFooterType 的可能值。
值 页眉或页脚的类型
-1 无(所选内容或区域不在页眉或页脚中)
0(零) 偶数页页眉
1 奇数页页眉(或在不区分奇数和偶数页时的页眉)
2 偶数页页脚
3 奇数页页脚(或在不区分奇数和偶数页时的页脚)
4 第一个页眉
5 第一个页脚
下表列出了 wdReferenceOfType 的可能值。
值 说明
-1 所选内容或区域包含但不限于脚注、尾注或批注引用。
0(零) 所选内容或区域不在脚注、尾注或批注引用之前。
1 所选内容或区域位于脚注引用之前。
2 所选内容或区域位于尾注引用之前。
3 所选内容或区域位于批注引用之前。
下表列出了 wdSelectionMode 的可能值。
值 选定模式
0(零) 常规选定模式
1 扩展选定模式(“扩展”出现在状态栏上)
2 列选择模式(“列”出现在状态栏上)

======================================================================

  • 选定文档中的文本

使用 Select 方法可以选择文档中的对象。Select 方法可用于多个对象,例如 Bookmark、Field、Range 和 Table。下面的示例选定活动文档中的第一个表格。

Sub SelectTable()
    ActiveDocument.Tables(1).Select
End Sub

下面的示例选定活动文档中的第一个域。

Sub SelectField()
    ActiveDocument.Fields(1).Select
End Sub

下面的示例选定活动文档中的前四个段落。Range 方法用于创建一个引用前四个段落的 Range 对象,然后将 Select 方法应用于 Range 对象。

Sub SelectRange()
    Dim rngParagraphs As Range
    Set rngParagraphs = ActiveDocument.Range( _
        Start:=ActiveDocument.Paragraphs(1).Range.Start, _
        End:=ActiveDocument.Paragraphs(4).Range.End)
    rngParagraphs.Select
End Sub

有关详细信息,请参阅处理 Selection 对象。

【CATIA的二次开发35】对象Selection部分属性介绍 在CATIA V5的VBA开发中,Selection对象是用户交互的核心组件,用于管理用户在图形区域或特征树中的选择操作。Selection 对象是 CATIA VBA 中的中央交互枢纽,充当用户界面与程序逻辑之间的桥梁。它代表当前在图形区域或特征树中被选中的元素集合,是自动化操作的基础。本文介绍Selection对象部分属性并列举各种应用场景。 阅读详情

相关推荐

Matlab批量画图并写入word

在Matlab中处理大量数据时,批量画图并写入word保存

modeganqingi的博客 6529

VBA 关于select 和 selection,比如 如何一次选中多个工作表

1 select方法 1.1Range.Select 方法 (选择对象。) 应用于Shape 和 ShapeRange对象的 Select方法。 选定指定的对象。 语法 expression.Select(Replace),expression 必需。该表达式返回以上一个对象。 表达式 一个代表 Range 对象的变量。 Replace V...

奔跑的犀牛先生 2万+

Word表格批量操作神器:VBA宏一键选中所有表格(附完整代码)

本文深入解析了如何利用VBA宏实现Word表格的批量自动化操作,核心介绍了一键选中所有表格的完整代码与原理。通过实战案例,详细展示了从宏环境准备、代码解析到执行的全过程,并提供了格式化、调整尺寸、添加标题等进阶批量操作代码库,帮助用户彻底摆脱手动调整表格的低效重复劳动,构建个人专属的Word效率工具箱。

tgb3456789的博客 464

VBA编程_Selection总结

文章目录EntireRowRowsEndOffsetNumberFormatLocalInterior   表示光标选择的区域。 EntireRow   表示一整个行: Sub Main() Rows(1).Select ' 选择第1行 Selection.EntireRow.Delete ' 删除第1行 End Sub Rows   表示光标所选择的行: Sub Main() Debug.Print Selection.Rows.Count ' 输出所选择

健身房 6007

VBA自动化Word格式设置:页面、段落、表格与图片批量处理实战

在文档处理与办公自动化领域,批量处理与格式统一是提升效率的核心需求。其原理在于通过编程语言控制软件对象模型,实现对文档元素的精准操控。这项技术的价值在于将重复性劳动自动化,确保输出质量的一致性,大幅节省人工成本。典型的应用场景包括批量生成报告、合同、论文等格式要求严格的文档。本文聚焦于VBA(Visual Basic for Applications)这一内置于Microsoft Office的强大工具,深入讲解如何利用其对象模型,实现Word文档页面、段落、表格和图片的批量格式设置与美化。通过具体的代码示

weixin_33749242的博客 437

c#操作word VBA简单应用

对word,excel等offfice软件进行操作,是我们大多数人再也熟悉不过的事情了。但是,如何在代码中对这些软件进行操作呢?对不同的软件操作,代码差距会很大吗?为了解决这些问题,VBA技术产生了。          Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsof

姚艳梅 廊坊师范学院七期信息技术提高班 5232

Word VBA中的Collapse方法详解

本文详细介绍了word vba中用于折叠内容的collapse方法。

yivifu的专栏 1017

【Excel VBA 编程】第89讲:一文搞懂Word应用程序对象与Word文档关系

Word文档创建、打开、保存、关闭全流程解析

wei1019的专栏 1090

Word宏实现公式批量转文本的VBA编程指南

在文档自动化处理领域,VBA宏编程是提升Office工作效率的核心技术。通过Word对象模型操作,开发者可以访问Application、Document等关键对象,实现复杂的文档处理逻辑。本文聚焦公式转换场景,详细解析如何通过OMath对象识别和处理Word文档中的公式元素,将其高效转换为纯文本格式。这种技术在学术论文格式化、企业文档标准化等场景中具有重要应用价值,特别适合需要批量处理数学公式的办公自动化需求。文章提供的增强版代码还包含了版本兼容性检查、性能优化等工程实践技巧,是Word VBA开发的实用参

weixin_30843121的博客 102

Word VBA宏及MATLAB调用Word学习

简介 什么是宏 一组动作的集合,简单点说就是批处理。 什么是VBA 写代码的 面向WORD的VB编辑开发语言。我们平时所称的VBA,即是以编程的方法来处理WORD中的各种对象。 学习方法 建议多录制宏,查看代码 使用可能出现的问题 word宏无法打开,设置 步骤一:依次打开:工具--选项--安全性–宏安全性,设置成“低”或“中”,点击“确定” 步骤二:现在去关闭WORD程序。。 步骤三:再打开WORD程序,打开相应的文件,用你的宏就Ok了。 VBA 对象、属性、事件、方法 MATLAB调用Word 基本思

九的方 1504

11、Word VBA文本处理全解析

本文深入解析了Word VBA中常用的Document、Range、Selection、Characters和Words等核心对象及其方法与属性,详细介绍了如何通过VBA进行文本选择、编辑、格式化及字符和单词统计。涵盖实用代码示例与操作流程图,帮助用户高效实现Word文档的自动化处理,提升办公效率。

alice7model的博客 77

Selection和Range对象

前言     其实在对word操作的时候Range对象用到的是最多的, 又由于Range对象与 Selection对象共享许多相同的方法和属性,所以今天我们将他俩放到一起来介绍下,看看他们有哪些共同和不同的地方。 正题 1.处理 Selection对象      用 Word 处理文档时,通常先选定文字,然后对所选内容进行操作,例如设置文字格式或键入文字。在 Visual Bas

赵丹丹 廊坊师范学院信息技术提高班 七期 3441

35、深入理解Word对象模型与关键对象

本文深入讲解了Word VBA中的关键对象:ActiveDocument、Selection和Range,涵盖其使用方法、常见问题及解决方案。内容包括文档状态检查、选择类型判断、范围定义与操作、样式应用、文本插入等核心技巧,并通过流程图和实例代码帮助读者掌握高效操作Word文档的VBA编程方法。

day7的博客 67

运用Range 对象处理 Word 文档内容

转自http://www.officexy.com/articles/word/word_vba20061027194952795.htm 在所有 Office 应用程序中,Microsoft Word 可能是应用最广泛的应用程序,它还经常在自定义 Office 解决方案中扮演重要的角色。开发人员用各种不同的方式使用 Word,有一些方式很简单,而另一些极其复杂。无论涉及何种自定义解决方案,用 Vi

foreverfall的博客 4640

喷雾破碎模型解析:从理论到CFD应用实践

本文深入解析喷雾破碎模型的理论基础与CFD应用实践,重点介绍KHRT、TAB和ETAB等主流模型的核心原理与工程调参技巧。通过OpenFOAM实例演示和参数优化建议,帮助工程师精准预测液滴破碎行为,提升燃烧效率与排放控制性能,适用于汽车发动机、燃气轮机等工业场景。

weixin_29281915的博客 498

Vivado ChipScope Debugging: Overcoming Common DRC Errors in FPGA Design

本文深入解析Vivado ChipScope调试中常见的DRC错误,特别是AVAL-244和AVAL-245等时钟相关问题,提供实用的Tcl命令解决方案和最佳实践。通过将DRC错误降级为警告的技巧,帮助FPGA设计者高效完成调试流程,同时强调何时应保留DRC检查以确保设计可靠性。

weixin_30335575的博客 416

VBA即用型代码手册:Selection 对象 Selection Object

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率,而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。作为我的学员要利用我的积木编程思想,积木编程最重要的是积木如何搭建及拥有积木。在九套教程中我给出了大量的积木,同时讲解了如何搭建。为了让学员拥有更多的积木,我开始着手这部的创作。

VBA语言専攻 731

Mooncake架构:基于KVCache解耦的LLM推理优化方案

在大语言模型推理中,KVCache是Transformer解码过程中用于缓存历史Key/Value向量的核心数据结构,它避免了序列重复计算,但会随上下文长度线性增长,成为显存占用的主要部分。其原理是在自回归生成时,将已计算过的注意力键值对存储下来,供后续Token生成时直接使用,从而提升计算效率。这项技术的核心价值在于,通过高效管理KVCache,可以显著降低长序列推理时的显存压力,提升GPU资源利用率。在实际应用场景中,尤其是在处理长上下文对话、高并发请求时,KVCache的管理策略直接决定了服务的吞吐量

weixin_35753431的博客 530

Word VBA中的光标操作

本文总结了Word VBA中的Selection常用操作,包括移动光标、查找和替换、输入内容、获取其他相关对象等,并附上了Information方法的参数详细说明。本文绝非简单照抄MSDN文档,而是包含了一些有一定难度的实用代码片段。

yivifu的专栏 1万+

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1467

2026华为OD机试(C语言)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+
上一篇: 运用Range 对象处理 Word 文档内容
下一篇: 把WORD中的文本框批量转换为图文框
foreverfall
博客等级 码龄18年 46粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值