Повторно применить макет слайда к существующим слайдам

448
wizzwizz4

У меня есть презентация PowerPoint, в которой слайды с нечетными номерами имеют мастер-макет A, а слайды с четными номерами имеют мастер-макет B (с некоторыми исключениями, которые я могу отсортировать вручную). Когда я обновляю один из макетов (например, добавляя или перемещая заполнители), мне приходится вручную выбирать каждый второй слайд, чтобы повторно применить макет к ним. Как я могу автоматически повторно применить макет к этим слайдам?

Если для этого нет встроенной функции (или даже если она есть!), Макрос был бы столь же полезен.

0
Я здесь не постоянный, поэтому не совсем понял, как его пометить. Если это помечено неправильно, пожалуйста, исправьте это! :-) wizzwizz4 8 лет назад 0
Ваши теги актуальны - нет проблем, но я думаю, что вам даже не нужно использовать макросы ... просто установите флажок «применить ко всем слайдам» на панели инструментов. Также, если вы хотите обсудить код, напишите в www.stackoverflow.com Anand S 8 лет назад 0
@AnandS Я не хочу обсуждать код, потому что тогда я бы не согласился с проблемой XY, и вопросы «дай мне код» там не ценятся (или здесь, но это не совсем так). И я не хочу, чтобы опция «применить ко всем слайдам»; Я только хочу применить это к слайду 4 и каждому другому слайду после и включая 7. wizzwizz4 8 лет назад 0
Спасибо за разъяснения! И я полагаю, что вы меня не так поняли - я не призываю вас нагло попросить полный код, а скорее прошу перенести этот вопрос в Stack Overflow, так как речь идет о кодировании ... Anand S 8 лет назад 0
@AnandS Я надеялся, что есть встроенная функция, позволяющая мне сделать это. Все они уже имеют правильное расположение слайдов; Я только хочу повторно применить это к тем, у которых уже есть это согласно https://support.office.com/en-us/article/Change-a-slide-layout-489A23C6-7170-455E-BB88- CF5D6F09D990 wizzwizz4 8 лет назад 1
Вы понимаете, что вы можете выбрать нужные слайды в окне «Сортировщик слайдов», удерживая нажатой клавишу «Control» + щелкнув мышью, а затем использовать «Главная | Слайды | Макет, чтобы применить макет, который вы хотите, верно? Немного утомительно, но, на первый взгляд, намного быстрее, чем искать / писать код для выполнения работы. Steve Rindsberg 8 лет назад 0
@ SteveRindsberg Я понимаю это, но я буду делать это несколько раз. Я уже сделал это дважды: -] wizzwizz4 8 лет назад 0

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

1
Steve Rindsberg

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

Sub ReapplyMaster() Dim slidenum As Long For slidenum = 3 To ActivePresentation.Slides.Count Step 2 With ActivePresentation.Slides(slidenum)  .CustomLayout = ActivePresentation.Designs(1).SlideMaster.CustomLayouts(2)  End With Next End Sub 
Я изменил вопрос, чтобы удалить макрос, но это не лишает законной силы ваш ответ. Будет ли работать `.CustomLayout = .CustomLayout`? wizzwizz4 8 лет назад 0
Быстрее попробовать, чем ждать ответа, не так ли? Steve Rindsberg 8 лет назад 0
Как вы думаете, я должен принять ваш ответ (показывает много усилий и является расширяемым) или ответ, который я опубликовал (встроенная функция, более полезная для неопытных пользователей)? wizzwizz4 8 лет назад 0
Так как это SuperUser, а не StackOverflow, я бы пошел с вашим собственным ответом (что более или менее похоже на предложение, которое я сделал ранее). Steve Rindsberg 8 лет назад 0
Спасибо за вашу помощь. Я просто подожду 22 часа, прежде чем принять, просто потому, что мне так хочется, и определенно нет, потому что система имеет ограничение> 48 часов. wizzwizz4 8 лет назад 0
0
wizzwizz4

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