2017-07-25 1 views
0

Vous recherchez un exemple de code vba qui supprime toutes les diapositives avec une mise en page vierge. J'essaie de créer un catalogue en utilisant un UserForm. L'utilisateur sélectionne les produits qu'il souhaite consulter et le code supprime les diapositives des produits qu'il ne souhaite pas voir. Le problème est que si je supprime le tableau de diapositives spécifique à un produit, il modifie le nombre total de diapositives et les autres tableaux de numéros de diapositives ne contiennent plus les diapositives spécifiques aux autres produits.Code Vba pour supprimer toutes les diapositives avec un PowerPoint powerpoint?

Je pensais ajouter des diapositives vierges à la place des diapositives non désirées, puis supprimer toutes les diapositives vierges à la fin.

Je suis ouvert à d'autres idées et suggestions. Je vous remercie de votre temps et de votre aide.

+0

toujours supprimer coulisse vers l'arrière - du dernier à premier. – PatricK

+0

Merci, quelle solution simple! –

Répondre

0

Il semble que vous travaillez avec des tableaux de SlideNumber ou SlideIndex.
Ne vous embêtez jamais avec SlideNumber pour diverses raisons. Dans ce cas, SlideIndex change après la suppression des diapositives. À la place, utilisez des tableaux d'objets Diapositive ou à la place de SlideIndex, utilisez un tableau de SlideId ... Les SlideId sont assignés lorsque la diapositive est créée et ne changent jamais.

Exemple de trouver une diapositive de son SlideID, dans ce cas, 258 arbitrairement:

Dim oSl As Slide 
Set oSl = ActivePresentation.Slides.FindBySlideID(258) 
MsgBox oSl.SlideIndex