0

我有一个包含单列字符串(大约 400 行)的 Excel 文档。我还有一个 Word 文档,它的 Excel 文档中可能有也可能没有这些字符串。如何让 Excel 在该 Word 文档中为该单列中的每一行进行查找并检索给定字符串出现的次数?我只有Office 2003。

谢谢!

4

1 回答 1

2

这是一个示例 Excel 宏,它计算匹配的数量并将其写在所需的字符串旁边。我在 Office 2007 上试过,但它也应该在 2003 上工作。该宏使用正则表达式,因此您需要将“Microsoft VBScript 正则表达式”库的引用添加到您的 VBA 项目(Visual Basic 编辑器 -> 工具 -> 引用)。

Sub GetMatchCount()
  Dim Text, i, re

  ' Replace with your Word document name
  Const WordFileName = "C:\Test.doc"

  With CreateObject("Word.Application")
    .Documents.Open (WordFileName)
    Text = .ActiveDocument.Range.Text
    .Quit
  End With

  Set re = New RegExp
  re.Global = True

  With ActiveSheet.UsedRange
    For i = 1 To .Rows.Count
      re.Pattern = .Cells(i, 1).Value
      .Cells(i, 2).Value = re.Execute(Text).Count
    Next
  End With
End Sub
于 2009-05-29T08:07:36.017 回答