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

Invoke-OfficeWordMailMerge

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

Executes a simple mail merge against MERGEFIELD values in a Word document.

Remarks

Executes a simple mail merge against MERGEFIELD values in a Word document.

Examples

Authored help example

Replace merge fields from a hashtable.

PS>


Invoke-OfficeWordMailMerge -InputObject @{ FirstName = 'John'; OrderId = 12345 }
        

Updates MERGEFIELD values in the active Word document.

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

Invoke-OfficeWordMailMerge [-Document <WordDocument>] -InputObject <Object> [-PassThru] [-PreserveFields] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

Document WordDocument optionalposition: namedpipeline: True (ByValue)
Document to update when provided explicitly.
InputObject Object requiredposition: 0pipeline: Falsealiases: Data, Values
Hashtable or object whose properties map to MERGEFIELD names.
PassThru SwitchParameter optionalposition: namedpipeline: False
Emit the updated document.
PreserveFields SwitchParameter optionalposition: namedpipeline: False
Preserve field codes and only update displayed field text.

Outputs

OfficeIMO.Word.WordDocument