word vba中的集合

1. 创建集合

Set col = New Collection

2. 添加元素(核心)
语法:col.Add 元素 [, 键](键为唯一字符串,可选)

col.Add ThisDocument.Paragraphs(1), "para1"  ' 存段落对象+键
col.Add "文本内容"  ' 存普通文本

3. 访问元素
索引(从 1 开始):col(1)(第 1 个元素)
键访问:col("para1")(通过键找元素)
4. 遍历元素

For Each item In col
    Debug.Print item  ' 处理每个元素
Next

5. 删除元素
语法:col.Remove 索引或键

col.Remove 1 或 col.Remove "para1"

6. 元素数量

col.Count  ' 返回集合元素总数

7. Word场景核心用法

' 正确批量处理段落
For Each p In ThisDocument.Paragraphs: col.Add p  ' 先存
For Each p In col: p.Range.Font.Bold = True       ' 再操作

8. 注意点
键必须唯一
索引从 1 开始
存 Word 对象时,删除文档对象后需同步从集合移除,否则引用无效
9. 举例:将所有的单词提取出来

Sub 提取单词并加Tab分隔()
    Set 原始单词集合 = New Collection
    For Each wd In ThisDocument.Words
       原始单词集合.Add wd.Text
    Next
    For i = 1 To 原始单词集合.Count
        结果文本 = 结果文本 & 原始单词集合(i) & Chr(13)
    Next i
    With ThisDocument.Content
        .Collapse 0
        .InsertAfter 结果文本
    End With
End Sub
posted @ 2025-08-25 08:35  python_learn  阅读(20)  评论(0)    收藏  举报