2016-10-19 2 views
1

Я имею в виду конкретно к версии 2016 года, но это должно также применяться к 2013 и 2010Кто-нибудь понимает свойство SlideMaster объекта Powerpoint Presentation?

----- TLDR Резюме

  • Можно ли использовать VBA, чтобы добавить новые слайды с помощью метод , которого я не нашел?
  • Можно ли использовать VBA для доступа к макетам Слайд-мастеров, отличных от первого в представлении?
  • Я подозреваю, что ответ на оба вопроса - «Нет», и что MS имеет только , прикрутил экспозицию к базовым объектам, но другие могут узнать больше о программировании PPT, чем мне.

------ Весь вопрос

Microsoft счел PowerPoint недостойно запись макросов для вот этих многих версий (я думаю, что это было прекращен либо 2003 или 2007 из памяти), так что нет помощь может быть получена оттуда.

Связанный MSDN «help» item является горем. В нем указано, что свойство возвращает объект «Мастер», хотя это не актуально на данный момент.

На странице поддержки Office описывается мастер слайдов here. Кажется, что мастер слайдов находится в местах слайдов презентации, предположительно в свойстве CustomLayouts SlideMaster, хотя интересно отметить, что только первые 9 из этих CustomLayouts соответствуют тому, что вы видите в графическом интерфейсе. (Я собираю 11 объектов CustomLayout в SlideMaster в новой пустой презентации.) Номера меняются, если вы добавляете новые макеты, хотя два вертикальных макета текста никогда не появляются в списке графического интерфейса. Это тоже не проблема.

Проблема заключается в том, что на самом деле у вас может быть несколько слайдов для каждой презентации, перейдя в меню «Вид», «Мастер слайдов», а затем выбрав «Вставить слайд-мастер». Наличие нескольких слайд-мастеров обсуждается на сайте поддержки Office here.

Откровенно говоря, я считаю эту функциональность как немного нарушена, потому что если вы сделаете это, то применить тему к новому Slide Master, вы в конечном итоге с третьего Slide Master; оригинал в разделе «Тема Office», второй в разделе «Пользовательский дизайн» и третий под названием темы, которую вы применили. Это тоже само по себе не является проблемой. (Хотя стоит отметить, что в презентации нет метода AddSlideMaster, а это значит, что VBA не представляется возможным сделать это не обязательно. хочу, но если вы это сделали, t. Существует только метод .AddTitleMaster, который кажется бесполезным, поскольку все презентации имеют TitleMaster, насколько я могу видеть, и если в представлении есть один, то этот метод будет выходить из строя в соответствии с the documentation.)

Проблема заключается в том, что объект Презентации не имеет Слайд-Мастерс. Он имеет только одно свойство SlideMaster, которое возвращает один объект «Мастер слайдов/мастер».

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

Правильно ли я в этом допущении, или я чего-то не хватает?

Приносим свои извинения заранее, хотя это часто удаляется из вопросов. Не то чтобы это, вероятно, привлекло много внимания; Я подозреваю, что в будущем может быть еще один значок Tumbleweed.

+1

Это подлинный вопрос и показывает исследовательские усилия. Не должно было быть замедленным. – dotNET

ответ

1

Возможно, эта страница будет полезна для понимания его лучше - http://skp.mvps.org/2007/ppt003.htm

+0

Бинго. Это не на этой странице, а на странице, на которую она ссылается; это: http://skp.mvps.org/designs.htm Естественно; вы вставляете новый мастер слайдов, поэтому для MS имеет смысл называть их «Designs» (eyeroll). Огромное спасибо, вы очень сильно изменили его. –

+1

Терминология Microsoft в этой области PowerPoint откровенно беспорядок! Пользовательский интерфейс ссылается на мастер слайдов на вкладке «Вид» и «Проекты» в другом месте. Однажды в режиме просмотра слайдов есть несколько мастеров, каждый из которых содержит «родительский» (никто, кажется, не знает, как его назвать!) И один или несколько пользовательских макетов. Я думаю, что он, вероятно, ушел с рельсов, когда были введены несколько мастеров, и необходимо было сохранить совместимость в обратном направлении. –

+0

@JamieG; да, я думал то же самое. Было бы не так плохо, если бы иерархия была лучше объяснена в документации CustomLayouts на MSDN, но на момент написания она вообще не объясняется. (https://msdn.microsoft.com/en-us/library/office/ff745764.aspx) Кажется, что вы можете манипулировать объектами CustomLayout тем же способом с помощью объекта SlideMaster Presentation или объекта SlideMaster Design ... BUT сначала вы должны знать, что объект Design (a) существует, и (b) на самом деле означает «то, что мы называем мастером слайдов, когда вы добавляете его в GUI». –

Смежные вопросы