Как скопировать макеты из основного вида в слайды в PowerPoint?

532
Greg Viers

Пользователь, с которым я работаю, случайно сделал всю презентацию в режиме просмотра слайдов. То есть вместо добавления слайдов они создали макеты.

Существует простое частичное решение, которое заключается в добавлении новых слайдов с использованием каждого макета. Это приводит к презентации, которая может быть отображена нормально, но имеет определенные ограничения. В частности, мы много сотрудничаем здесь, и, когда вы делитесь этим файлом с другими пользователями, никто больше не сможет редактировать текст на слайдах, не заходя в основной вид.

Все это может быть восстановлено с нуля, но оно очень большое, так что это займет слишком много времени.

0
Не могли бы вы просто создать новый файл powerpoint, скопировать и вставить старые слайды? Тогда любые шаблоны исчезнут, но сохранят все ваши слайды. Eric F 6 лет назад 0
это не сработало @EricF. Я попытался вставить их из слайдов на основе макета, и проблема воспроизводится точно. Я попытался вставить непосредственно из основного вида, и он не вставляется. Greg Viers 6 лет назад 0

1 ответ на вопрос

2
Steve Rindsberg

Один (возможно, ошибочный) подход:

Перейти к каждой компоновке в режиме шаблона
Нажмите Ctrl + A, чтобы выбрать все
Нажмите Ctrl + C, чтобы скопировать
Вернуться к нормальному виду
добавить новый слайд на основе BLANK макета
Нажмите Ctrl + V, чтобы вставить содержимое, которое только что скопированный из макета
После того, как сделано со всеми макетами вернитесь к основному виду, выберите и удалите содержимое каждого макета.

Недостаток? Это даст вам набор слайдов, которые больше не связаны с макетами, которые будут контролировать внешний вид презентации. Чтобы внести какие-либо широкомасштабные изменения, вам нужно изменить каждый слайд. Но это относительно быстрое решение, и оно по крайней мере оставит вас с редактируемыми слайдами.

Если презентация будет использоваться не раз и несколько раз и редактироваться разными людьми, более подходящее исправление может быть более подходящим, хотя и намного более трудоемким.

Для этого потребуется выполнить вышеизложенное, а затем пройтись по макетам и удалить любой контент, который не является либо а) заполнителем, либо б) требуемым на каждом слайде на основе макета.

Затем вам нужно будет применить соответствующий макет к каждому слайду, который изначально был основан на нем, и, наконец, при необходимости скопировать текст из произвольных текстовых полей в соответствующие заполнители.

Если вы решите пойти по этому пути, вот макрос, который удалит все фигуры без заполнителей из каждого мастера / макета в презентации. Он не сделает всю работу за вас, но, по крайней мере, автоматизирует довольно утомительную часть:

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 
Этот подход будет работать, но он слишком медленный. Если у вас есть макрос, пожалуйста, предоставьте его. Greg Viers 6 лет назад 0
См. Отредактированный ответ выше Steve Rindsberg 6 лет назад 0