Project

PSWriteOffice

PowerShell document automation across OfficeIMO's document, spreadsheet, presentation, PDF, Project, Access, EPUB, invoicing, and conversion engines.

Stars 654
Forks 82
Open issues 1
Total downloads 4,320,051
Release OfficeIMO-v3.5.3
Language: C# Updated: 2026-11-03
Cmdlet

Copy-OfficePowerPointSlide

Module
PSWriteOffice
Inputs
OfficeIMO.PowerPoint.PowerPointPresentation
Outputs
OfficeIMO.PowerPoint.PowerPointSlide

Copies an existing slide within a PowerPoint presentation.

Syntax

Copy-OfficePowerPointSlide
-Index <Int32>
[-InsertAt <Int32>]
[-PassThru]
[-Presentation <PowerPointPresentation>]
[<CommonParameters>]
#
Parameter set: All Parameter Sets

Description

Uses OfficeIMO slide duplication so charts, notes, and shapes are preserved.

Examples

Duplicate the first slide and insert the copy after it.

New-OfficePowerPoint -Path .\Examples\Documents\PowerPointCopySlide.pptx {
    $slide = Add-OfficePowerPointSlide -Layout 1 -PassThru
    Set-OfficePowerPointSlideTitle -Slide $slide -Title 'Original'
    $copy = Copy-OfficePowerPointSlide -Index 0 -PassThru
    Set-OfficePowerPointSlideTitle -Slide $copy -Title 'Copied appendix'
}

Duplicates a slide and updates the copied slide title.

Parameters

-Index Int32 required
Zero-based slide index to duplicate.
-InsertAt Int32 optional
Optional target index for the duplicate; omit to insert after the source slide.
-PassThru SwitchParameter optional
Emit the object created or changed by the command.
-Presentation PowerPointPresentation optionalpipeline: True (ByValue)
Presentation to update (optional inside DSL).

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.