Первоначально я думал, что нет хорошего способа защитить имя SlideMaster от пользователя, потому что оно, кажется, очень легко предоставляется через главное представление. В 2007 году к нему очень легко добраться, как указано выше: просмотреть вкладку ленты, кнопку «Мастер слайдов», щелкнуть правой кнопкой мыши любой мастер и переименовать. Примерно то же самое в 2003 году, меню «Вид»> «Мастер»> «Мастер слайдов», щелкните правой кнопкой мыши нужный мастер в списке миниатюр слева, переименуйте.
Радует тот факт, что это не переименовывает master , а скорее design . Объектная модель Ppt не очень проста, когда дело доходит до этих двух объектов; каждый мастер, по-видимому, является родителем дизайна, но для всех целей и задач они используются 1-к-1, и каждый экспонирует другого как свойство: SlideMaster.Design
(только для «активного» слайд-мастера) или Design.SlideMaster
(по крайней мере, что касается мастера slide - я не работаю с остальными тремя, поэтому не могу говорить с ними здесь). Когда пользователь выполняет последовательность шагов, описанных выше, эквивалентный vba равен myDesign.Name = "SomeNewName"
, а не mySlideMaster.Name = "SomeNewName"
. Имя мастера не затронуто; аналогично, если в VBA я выполняю mySlideMaster.Name = "SomeNewVBAName"
, соответствующее имя дизайна, которое мог выбрать пользователь, остается без изменений.