2016-10-19 8 views
1

Je me réfère spécifiquement à la version 2016, mais cela devrait également appliquer jusqu'en 2013 et 2010.Est-ce que quelqu'un comprend la propriété SlideMaster de l'objet Powerpoint Presentation?

----- TLDR Résumé

  • Est-il possible d'utiliser VBA pour ajouter un nouveau Master diapositive à l'aide une méthode que je n'ai pas trouvée?
  • Est-il possible d'utiliser VBA pour accéder ou manipuler les Layouts de Slide Masters autre que le premier dans un objet Presentation?
  • Je soupçonne que la réponse à la fois est "Non" et que MS a simplement vissé l'exposition des objets sous-jacents, mais d'autres peuvent en savoir plus sur la programmation PPT que moi.

------ Toute la question

Microsoft PowerPoint a jugé indigne d'un enregistreur de macro pour lo ces nombreuses versions (je pense qu'il a été abandonné en 2003 ou en 2007 de la mémoire), donc pas l'aide peut être obtenue à partir de là.

Le "aide" MSDN lié item est déplorable. Il indique que la propriété retourne un objet Maître, bien que cela ne soit pas pertinent pour le moment.

Une page de support Office décrit un masque de diapositives here. Un masque de diapositives semble être là où les présentations de diapositives de la présentation sont diffusées, vraisemblablement dans la propriété CustomLayouts de SlideMaster, bien qu'il soit intéressant de noter que seules les 9 premières de ces CustomLayouts correspondent à ce que vous voyez dans l'interface graphique. (Je compte 11 objets CustomLayout dans le SlideMaster dans une nouvelle présentation vierge.) Les chiffres changent si vous ajoutez de nouvelles mises en page bien que les deux mises en page verticales ne semblent jamais apparaître dans la liste de l'interface graphique. Ce n'est pas non plus le problème. Le problème est que vous pouvez en fait avoir plus d'un masque de diapositives par présentation en allant dans le menu Affichage, Slide Master, puis en sélectionnant Insérer un masque de diapositives. La présence de plusieurs masques de diapositives est abordée sur le site de support Office here.

Franchement si vous faites cela, je considère cette fonctionnalité comme légèrement brisée car alors appliquer un thème à la nouvelle diapositive Maître, vous vous retrouvez avec un troisième diapositives; l'original sous "Thème Office", un deuxième sous "Custom Design", et un troisième sous le nom du Thème que vous avez appliqué. Ceci n'est pas en soi un problème. (Bien qu'il soit à noter qu'une présentation n'a pas une méthode AddSlideMaster, ce qui signifie qu'il ne semble pas possible de le faire par VBA.Pas que vous devez nécessairement vouloir à, mais si vous l'avez fait, vous pouvez ' Il n'y a qu'une méthode .AddTitleMaster qui semble inutile car toutes les présentations ont un TitleMaster aussi loin que je puisse voir et si une présentation en a une alors cette méthode va se tromper selon the documentation.)

Le problème est que l'objet Presentation n'a pas de collection des masques de diapositives. Il n'a qu'une seule propriété, SlideMaster, qui renvoie un seul objet Slide Master/Master.

Par conséquent, je ne vois pas comment ajouter un nouveau masque de diapositives.Et même si vous en avez utilisé un qui est ajouté à travers l'interface graphique, vous ne pouvez pas sembler accéder n'importe quel masque de diapositives à l'exception de la première. Par conséquent, vous ne semblez pas être en mesure d'accéder, de manipuler ou d'affecter une mise en page à partir d'un masque de diapositives autre que le premier à une diapositive individuelle.

Ai-je raison dans cette hypothèse, ou ai-je oublié quelque chose?

Je vais vous remercier d'avance, même si cela est souvent supprimé des questions. Non que celui-ci soit susceptible d'attirer beaucoup d'attention; Je soupçonne qu'il pourrait y avoir un autre insigne de Tumbleweed dans mon futur.

+1

C'est une vraie question et montre l'effort de recherche. Ne devrait pas avoir été downvoted. – dotNET

Répondre

1

Peut-être que cette page sera utile pour comprendre mieux - http://skp.mvps.org/2007/ppt003.htm

+0

Bingo. Ce n'est pas sur cette page mais sur une page vers laquelle elle est liée; celui-ci: http://skp.mvps.org/designs.htm Naturellement; vous insérez un nouveau masque de diapositives, il est donc logique que MS les appelle "Designs" (eyeroll). Merci beaucoup, vous l'avez démystifié grandement. –

+1

La terminologie de Microsoft dans ce domaine de PowerPoint est franchement un gâchis! L'interface utilisateur fait référence à Slide Master dans l'onglet Vue et aux conceptions ailleurs. Une fois dans la vue principale des diapositives, plusieurs masters contiennent chacun un «parent» (personne ne semble savoir comment l'appeler!) Et une ou plusieurs mises en page personnalisées. Je pense que cela a probablement déraillé lorsque plusieurs maîtres ont été introduits et que la rétrocompatibilité a dû être maintenue. –

+0

@JamieG; oui, je pensais la même chose. Ce ne serait pas si mauvais si la hiérarchie était mieux expliquée dans la documentation de CustomLayouts sur MSDN, mais au moment de l'écriture il n'est pas expliqué du tout. (https://msdn.microsoft.com/en-us/library/office/ff745764.aspx) Il semble que vous puissiez manipuler des objets CustomLayout de la même manière via l'objet SlideMaster de la présentation OU l'objet SlideMaster d'un Design ... MAIS Vous devez d'abord savoir que l'objet Design (a) existe et (b) signifie en fait "ce que nous appelons un masque de diapositives lorsque vous l'ajoutez dans l'interface graphique". –