PowerPoint でマスター ビューからスライドにレイアウトをコピーするにはどうすればよいですか?

PowerPoint でマスター ビューからスライドにレイアウトをコピーするにはどうすればよいですか?

私が一緒に仕事をしているあるユーザーが、誤ってプレゼンテーション全体をスライド マスター ビューで作成してしまいました。つまり、スライドを追加する代わりに、レイアウトを作成してしまったのです。

単純な部分的な解決策は、各レイアウトを使用して新しいスライドを追加するだけです。これにより、プレゼンテーションは問題なく表示されますが、一定の制限があります。具体的には、ここでは頻繁に共同作業を行うため、このファイルを他のユーザーと共有すると、他のユーザーはマスター ビューに切り替えずにスライドのテキストを編集できなくなります。

全体を最初から作り直すこともできますが、規模が大きいため時間がかかりすぎます。

答え1

1 つの(おそらく欠陥のある)アプローチ:

マスター ビューで各レイアウトに移動します
。Ctrl + A を押してすべてを選択します
。Ctrl + C を押してコピーします。
標準ビューに戻ります。BLANK
レイアウトに基づいて新しいスライドを追加します
。Ctrl + V を押して、レイアウトからコピーしたコンテンツを貼り付けます。
すべてのレイアウトが完了したら、マスター ビューに戻り、各レイアウトからコンテンツを選択して削除します。

欠点は、プレゼンテーションの外観を制御するレイアウトにリンクされていないスライドが大量に作成されることです。広範囲にわたる変更を行うには、すべてのスライドを変更する必要があります。ただし、これは比較的簡単に修正でき、少なくとも編集可能なスライドが残ります。

プレゼンテーションが数回以上使用され、さまざまな人によって編集される場合は、時間はかかりますが、より完全な修正の方が適切かもしれません。

これには、上記の操作を行った後、レイアウトを確認して、a) プレースホルダーではないコンテンツ、または b) レイアウトに基づいてすべてのスライドに必要なコンテンツ以外のコンテンツを削除することが含まれます。

次に、元々それに基づいていた各スライドに適切なレイアウトを適用し、最後に、必要に応じて、ランダムなテキスト ボックスから適切なプレースホルダーにテキストをコピーする必要があります。

その方法を採用することに決めた場合、プレゼンテーション内の各マスター/レイアウトからプレースホルダー以外のすべての図形を削除するマクロがあります。これですべての作業が完了するわけではありませんが、少なくとも面倒な部分を自動化できます。

Sub DeleteNonPlaceholderShapes()
' Deletes non-placeholder shapes from
' each slide master and layout in a presentation
' Run this on a COPY of your presentation, never the only original.

Dim oDes As Design
Dim oLay As CustomLayout
Dim oSh As Shape

With ActivePresentation
    For Each oDes In .Designs
        Call HandleOneContainerObject(oDes.SlideMaster)
        For Each oLay In oDes.SlideMaster.CustomLayouts
            Call HandleOneContainerObject(oLay)
        Next
    Next

End With

End Sub

Sub HandleOneContainerObject(oObject As Object)

Dim x As Long

For x = oObject.Shapes.Count To 1 Step -1
    If Not oObject.Shapes(x).Type = 14 Then
        oObject.Shapes(x).Delete
    End If
Next

End Sub

関連情報