2017-04-05 1 views
0

Dans mon application C# j'appelle presentation.Slides.AddSlide, et le second paramètre est affiché en tant que CustomLayout. La seule disposition que je peux trouver est PpSlideLayout, que le compilateur dit qu'il ne peut pas convertir en CustomLayout.PowerPoint interop PpSlideLayout à CustomLayout

Que suis-je supposé passer pour ce second argument?

Répondre

1

Le deuxième argument doit être un objet de mise en page personnalisé.

La hiérarchie des objets ressemble à ceci:

Presentation 
    Designs (collection) 
    Design(x) 
     SlideMaster 
     CustomLayouts (collection) 
      CustomLayout(x) 

Donc, en VBA, vous feriez quelque chose comme:

ActivePresentation.Slides.AddSlide 1, _ 
ActivePresentation.Designs(1).SlideMaster.CustomLayouts(2) 

Ce ajouterions une nouvelle diapositive 1 en fonction de la deuxième mise en page le premier design (ce que nous appellerions un maître de diapositives). Oui. Le modèle d'objet est un peu tordu.

+0

Merci beaucoup! C'était exactement ce dont j'avais besoin. – Scott