Hanno Excel 2003 fare una ricerca in un documento di Word e restituire il numero di occorrenze

StackOverflow https://stackoverflow.com/questions/922437

  •  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!

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top