Hanno Excel 2003 fare una ricerca in un documento di Word e restituire il numero di occorrenze
-
06-09-2019 - |
Domanda
Ho un documento di Excel che contiene una singola colonna di stringhe (circa 400 righe). Ho anche un documento di Word che possono o non possono avere quelle stringhe nel documento Excel. Come posso avere Excel fare una ricerca nel documento di Word per ogni riga in quella singola colonna e recuperare il numero di volte in cui viene visualizzata la stringa data? Ho solo Office 2003.
Grazie!
Soluzione
Ecco un esempio Excel macro che conta il numero di partite e lo scrive giù accanto al stringhe ricercato per. Ho provato con Office 2007, ma dovrebbe funzionare con il 2003 pure. La macro utilizza le espressioni regolari, quindi è necessario aggiungere un riferimento a "Microsoft VBScript espressioni regolari" biblioteca al progetto VBA (Visual Basic Editor -> Strumenti -> Riferimenti).
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