ZetCode

VBScript Word.Selection 对象

最后修改于 2025 年 4 月 9 日

VBScript 中的 Word.Selection 对象代表 Microsoft Word 文档中的当前选区。它提供了对所选内容的文本、格式和属性的访问。该对象是 Word 自动化模型的一部分,对于文档操作至关重要。

Selection 允许与文档内容进行动态交互。它支持文本插入、删除、格式设置和导航操作。本教程通过实际示例介绍 Selection,以展示其在 Word 自动化中的功能。

Word.Selection 对象概述

Selection 对象代表 Word 中当前的光标位置或突出显示的文本。它提供了以编程方式操作文档内容的属性和方法。该对象通过 Word 应用程序对象模型进行访问。

主要功能包括文本操作、格式控制和文档导航。随着光标移动,Selection 会动态变化。理解此对象对于高级 Word 自动化任务至关重要。它适用于可见和隐藏的 Word 实例。

在选区插入文本

此示例演示了在当前选区点插入基本文本。它展示了如何创建 Word 实例、访问选区并插入文本。该脚本确保执行后正确清理对象。

insert_text.vbs
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
wordApp.Documents.Add

wordApp.Selection.TypeText "Hello, Word Automation!"
wordApp.Selection.TypeParagraph

Set wordApp = Nothing

脚本启动 Word 并创建一个新文档。TypeText 在选区点插入文本。TypeParagraph 添加新行。为了演示目的,Word 实例是可见的。完成后务必释放对象。

格式化选定文本

此示例展示了如何对选定文本应用格式。它演示了字体属性修改,包括粗体、斜体和颜色更改。为了清晰起见,脚本在应用格式之前选择文本。

format_text.vbs
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
Set doc = wordApp.Documents.Add

doc.Content.Text = "Sample text for formatting"
wordApp.Selection.WholeStory
wordApp.Selection.Font.Bold = True
wordApp.Selection.Font.Italic = True
wordApp.Selection.Font.Color = RGB(255, 0, 0)

Set doc = Nothing
Set wordApp = Nothing

脚本创建一个带有示例文本的文档。WholeStory 选择所有内容。然后通过 Selection 对象修改字体属性。RGB 值指定文本颜色。可以组合多个格式属性。

使用 Selection 进行导航

此示例演示了使用 Selection 方法进行文档导航。它展示了如何移动光标、选择文本范围以及操作内容。脚本创建一个多段落文档用于演示。

navigate_document.vbs
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
Set doc = wordApp.Documents.Add

doc.Content.Text = "First paragraph" & vbCr & "Second paragraph"
wordApp.Selection.HomeKey 6 ' Move to start of document
wordApp.Selection.MoveDown 1, 1 ' Move down one paragraph
wordApp.Selection.TypeText "Modified "

Set doc = Nothing
Set wordApp = Nothing

脚本创建了一个包含两个段落的文档。HomeKey 移动到文档开头。MoveDown 在段落之间导航。新选区点会插入文本。导航单位可以是字符、单词或段落。

使用 Selection 进行复制和粘贴

此示例演示了使用 Selection 对象进行剪贴板操作。它展示了如何复制选定内容并将其粘贴到文档的其他位置。脚本创建示例内容进行操作。

copy_paste.vbs
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
Set doc = wordApp.Documents.Add

doc.Content.Text = "Original text to copy"
wordApp.Selection.WholeStory
wordApp.Selection.Copy
wordApp.Selection.EndKey 6 ' Move to end
wordApp.Selection.Paste

Set doc = Nothing
Set wordApp = Nothing

脚本创建内容并将其全部选定。Copy 将内容放入剪贴板。EndKey 移动到文档末尾。Paste 插入复制的内容。剪贴板操作可以在 Word 实例之间进行。

查找和替换文本

此示例展示了如何使用 Selection 进行搜索和替换操作。它演示了如何查找特定文本并用新内容替换它。脚本包含区分大小写和全字匹配选项。

find_replace.vbs
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
Set doc = wordApp.Documents.Add

doc.Content.Text = "Replace old text with new text"
wordApp.Selection.Find.Execute "old text", False, False, False, False, , _
    True, 1, False, "new text", 2

Set doc = Nothing
Set wordApp = Nothing

脚本创建一个包含示例文本的文档。Find.Execute 搜索“旧文本”并替换它。参数控制搜索选项,如区分大小写。替换文本作为参数指定。可以在搜索模式中使用通配符。

来源

Word Selection 对象文档

在本文中,我们探讨了 VBScript 中的 Word.Selection 对象,涵盖了其用法和实际应用。从基本的文本插入到高级格式设置和导航,这些示例展示了强大的文档自动化功能。有了这些知识,您就可以创建健壮的 Word 自动化脚本。

作者

我叫 Jan Bodnar,是一名热情的程序员,拥有多年的编程经验。我从 2007 年开始撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面有八年以上的经验。

列出所有 VBScript 教程