如何將版面配置從主視圖複製到 PowerPoint 投影片中?

如何將版面配置從主視圖複製到 PowerPoint 投影片中?

與我合作的一位使用者不小心在投影片母版檢視中製作了整個簡報。也就是說,他們沒有添加幻燈片,而是創建了佈局。

有一個簡單的部分解決方案,僅使用每個佈局添加新幻燈片。這會導致簡報可以正常顯示,但有一定的限制。具體來說,我們在這裡進行了大量合作,當與其他用戶共享此文件時,其他人將無法在不進入主視圖的情況下編輯幻燈片中的文字。

整個東西可以從頭開始重建,但它非常大,所以這太耗時了。

答案1

一種(可能有缺陷的)方法:

轉到主視圖中的每個佈局
按 Ctrl+A 選擇全部
按 Ctrl+C 複製
返回普通視圖
基於空白佈局添加新幻燈片
按 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

相關內容