Project

PSWriteOffice

PowerShell document automation across Word, Excel, PowerPoint, PDF, Reader, Confluence, Visio, and open text formats.

Stars 159
Forks 14
PowerShell Gallery downloads 158,661
Release v3.0.5
Language: C# Updated: 2026-09-03

API Reference

Cmdlet

Find-OfficeWord

Namespace PSWriteOffice
Inputs
OfficeIMO.Word.WordDocument
Outputs
OfficeIMO.Word.WordParagraph OfficeIMO.Word.WordSearchResult

Finds text matches inside a Word document.

Remarks

Returns matching paragraphs or a WordSearchResult when using regex with -AsResult.

Examples

Authored help example

Find matching paragraphs and export a review list.

PS>


$matches = Find-OfficeWord -Path .\Report.docx -Text 'Quarter'
            $matches |
                Select-Object -Property Text |
                Export-Csv -Path .\ReviewMatches.csv -NoTypeInformation
        

Finds paragraphs containing the search text and writes a lightweight review CSV.

Use regex and keep the grouped WordSearchResult.

PS>


$result = Find-OfficeWord -Path .\Report.docx -Pattern 'FY\d{4}' -AsResult
            $result.Paragraphs |
                Select-Object -Property Text
        

Returns the full regex result so paragraphs, table matches, headers, and footers can be inspected separately.

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

Find-OfficeWord [-CaseSensitive] -Path <String> -Text <String> [<CommonParameters>]
#
Parameter set: PathText

Parameters

CaseSensitive SwitchParameter optionalposition: namedpipeline: False
Use case-sensitive matching.
Path String requiredposition: 0pipeline: Falsealiases: FilePath, InputPath
Path to the .docx file.
Text String requiredposition: 1pipeline: False
Text to find.

Outputs

OfficeIMO.Word.WordParagraph, OfficeIMO.Word.WordSearchResult

Find-OfficeWord [-AsResult] [-CaseSensitive] -Path <String> -Pattern <String> [<CommonParameters>]
#
Parameter set: PathRegex

Parameters

AsResult SwitchParameter optionalposition: namedpipeline: False
Emit the full WordSearchResult result for regex searches.
CaseSensitive SwitchParameter optionalposition: namedpipeline: False
Use case-sensitive matching.
Path String requiredposition: 0pipeline: Falsealiases: FilePath, InputPath
Path to the .docx file.
Pattern String requiredposition: 1pipeline: False
Regular expression pattern to find.

Outputs

OfficeIMO.Word.WordParagraph, OfficeIMO.Word.WordSearchResult

Find-OfficeWord [-CaseSensitive] -Document <WordDocument> -Text <String> [<CommonParameters>]
#
Parameter set: DocumentText

Parameters

CaseSensitive SwitchParameter optionalposition: namedpipeline: False
Use case-sensitive matching.
Document WordDocument requiredposition: namedpipeline: True (ByValue)
Word document to search.
Text String requiredposition: 1pipeline: False
Text to find.

Outputs

OfficeIMO.Word.WordParagraph, OfficeIMO.Word.WordSearchResult

Find-OfficeWord [-AsResult] [-CaseSensitive] -Document <WordDocument> -Pattern <String> [<CommonParameters>]
#
Parameter set: DocumentRegex

Parameters

AsResult SwitchParameter optionalposition: namedpipeline: False
Emit the full WordSearchResult result for regex searches.
CaseSensitive SwitchParameter optionalposition: namedpipeline: False
Use case-sensitive matching.
Document WordDocument requiredposition: namedpipeline: True (ByValue)
Word document to search.
Pattern String requiredposition: 1pipeline: False
Regular expression pattern to find.

Outputs

OfficeIMO.Word.WordParagraph, OfficeIMO.Word.WordSearchResult