Batch Extract Emails from MS Word Documents (Easy Methods)

How to Extract E‑mail Addresses from Word Files Quickly

Extracting email addresses from one or many Microsoft Word (.doc/.docx) files is straightforward. Below are four fast, reliable methods — choose the one that fits your comfort level and scale (single file vs. batch).

Quick method — Use Word’s Find with wildcards (single file)

  1. Open the Word file.
  2. Press Ctrl+H to open Replace, click “More >>”, check Use wildcards.
  3. In “Find what” enter:

    Code

    [A-z0-9.%+-]{1,}@[A-z0-9.-]{1,}.[A-z]{2,}
  4. Click the dropdown next to “Find In” → Main DocumentHighlight All (or click “Find Next” to review).
  5. Copy highlighted text and paste into a new document; manually remove duplicates or non-email hits.

Fast and repeatable — VBA macro (single or multiple files)

  • Paste this macro into the VBA editor (Alt+F11 → Insert → Module) and run. It finds emails in the active document and pastes a newline-separated list at the end.

vb

Sub ExtractEmailsToEnd() Dim rng As Range, outStr As String Set rng = ActiveDocument.Content With rng.Find

.ClearFormatting .MatchWildcards = True .Text = "[A-z0-9._%+-]{1,}@[A-z0-9.-]{1,}.[A-z]{2,}" .Forward = True .Wrap = wdFindStop Do While .Execute = True   outStr = outStr & rng.Text & vbCrLf   rng.Collapse wdCollapseEnd Loop 

End With If Len(outStr) > 0 Then ActiveDocument.Content.InsertAfter vbCrLf & outStr End Sub

Tip: To process many documents, write a wrapper macro that opens each file and

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *