2009-05-28 3 views
0

У меня есть документ Excel, который имеет один столбец строк (около 400 строк). У меня также есть документ Word, который может иметь или не иметь эти строки в документе Excel. Как я могу заставить Excel сделать поиск в документе Word для каждой строки этого единственного столбца и получить количество раз, когда отображается данная строка? У меня только Office 2003.Имейте Excel 2003 сделать документ «Поиск в документе» и вернуть число вхождений

Спасибо!

ответ

2

Вот пример макроса Excel, который подсчитывает количество совпадений и записывает их рядом с искомыми строками. Я попробовал его с Office 2007, но он должен работать и с 2003 годом. Макрос использует регулярные выражения, поэтому вам нужно добавить ссылку на библиотеку «Microsoft VBScript Regular Expressions» в ваш проект 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 
+0

Это то, что я хотел. БЛАГОДАРЯ! –

 Смежные вопросы

  • Нет связанных вопросов^_^