Evotec

Project

PSWriteOffice

PSWriteOffice is an open-source PowerShell and .NET project with packages, release history, and technical documentation.

Stars 144
Forks 12
Open issues 16
PowerShell Gallery downloads 150,904
Release v0.2.0
Language: C# Updated: 2026-04-06

API Reference

Cmdlet

Get-OfficePowerPointSlide

Namespace PSWriteOffice
Inputs
OfficeIMO.PowerPoint.PowerPointPresentation
Outputs
System.Object

Enumerates slides or retrieves a specific slide.

Remarks

Supports pipeline-friendly iteration over Slides or direct index selection.

Examples

Authored help example

List slide titles.

PS>


Get-OfficePowerPointSlide -Presentation $ppt | ForEach-Object { $_.GetPlaceholder([DocumentFormat.OpenXml.Presentation.PlaceholderValues]::Title).Text }
        

Streams each slide so you can read the title placeholder text.

Enumerate slides inside the DSL.

PS>


New-OfficePowerPoint -Path .\deck.pptx { Get-OfficePowerPointSlide | Select-Object -First 1 }
        

Uses the current DSL presentation context.

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

Get-OfficePowerPointSlide [-Index <Nullable`1>] [-Presentation <PowerPointPresentation>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

Index Nullable`1 optionalposition: namedpipeline: False
Optional zero-based index; omit to enumerate all slides.
Presentation PowerPointPresentation optionalposition: namedpipeline: True (ByValue)
Presentation to inspect (optional inside DSL).

Outputs

System.Object