Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

PowerPoint 2013: Which slides are using a particular slide layout

Posted on 2016-11-25
6
101 Views
Last Modified: 2016-11-27
errI have a layout that's used by quite a number of slides. However, in slide master view, all I see are a few slide numbers and then dots (ellipses)
I want to see which layout is used by which slides.
How can I do this?
See my problem in the graphic below.
0
Comment
Question by:brothertruffle880
6 Comments
 
LVL 24

Assisted Solution

by:Echo_S
Echo_S earned 125 total points
ID: 41901628
Manually, there's really no good way to do this. You'd have to switch to Normal view and select each slide and then click the Layout button to see which has been applied.

I'm sure Jamie or John will be along to tell us how it can be done with code!

Oh, one trick is to put a rectangle or textbox just off one edge of the layout (in the workspace), then when you look at the slides in Normal view, you can see the label in the workspace. It won't show in slide show view, but it will help you identify which layout is in use.
0
 
LVL 23

Assisted Solution

by:JSRWilson
JSRWilson earned 125 total points
ID: 41901714
This should give you a printable record.

Sub which_LO()
   Dim L As Long
   Dim strReport As String
   Dim strCL As String
   Dim strSld As String
   Dim osld As Slide
   Dim iFileNum As Integer
   Dim filePath As String

   filePath = Environ("USERPROFILE") & "\Desktop\Layouts.txt"
   iFileNum = FreeFile

   For L = 1 To ActivePresentation.SlideMaster.CustomLayouts.Count
      strCL = ActivePresentation.SlideMaster.CustomLayouts(L).Name
      For Each osld In ActivePresentation.Slides
         If osld.CustomLayout.Index = L Then strSld = strSld & "Slide: " & osld.SlideIndex & " / "
      Next osld
      If strSld <> "" Then
         strSld = Left(strSld, Len(strSld) - 3)
         strReport = strReport & strCL & vbCrLf & strSld & vbCrLf & vbCrLf
         strSld = ""
         strCL = ""
      End If
   Next L
   
   Open filePath For Output As iFileNum
   Print #iFileNum, strReport
   Close #iFileNum
   Call Shell("NOTEPAD.EXE " & filePath, vbNormalFocus)
End Sub

Open in new window

0
 
LVL 11

Accepted Solution

by:
Jamie Garroch earned 250 total points
ID: 41901735
Thanks for tempting me Echo!

Here's a macro that should do what you want:

Option Explicit

' =================================================================
' PowerPoint VBA macro to show the assignment of layouts to slides
' Note : assumes there is only one slide master
'        (but could be modified to cope with more)
' Written by : Jamie Garroch of YOUpresent Ltd.
' Date : 25NOV2016
' =================================================================
Sub ShowLayoutUse()
  Dim oSld As Slide
  Dim Msg As String
  Dim ArrLayouts() As String
  Dim LayoutIndex As Long
  Dim counter As Long
  
  Msg = "Layouts assigned to the following slides:" & vbCrLf
  
  With ActivePresentation
    ReDim ArrLayouts(1 To .SlideMaster.CustomLayouts.Count)
    For Each oSld In .Slides
      LayoutIndex = oSld.CustomLayout.Index
      ArrLayouts(LayoutIndex) = ArrLayouts(LayoutIndex) & IIf(ArrLayouts(LayoutIndex) = "", "", ",") & oSld.SlideIndex
    Next
    For counter = 1 To .SlideMaster.CustomLayouts.Count
      Msg = Msg & IIf(Msg = "", "", vbCrLf) & .SlideMaster.CustomLayouts(counter).Name & " : " & ArrLayouts(counter)
    Next
  End With
  
  MsgBox Msg, vbOKOnly, "Layouts Assignment - a Macro by YOUpresent.co.uk"
End Sub

Open in new window


Example output:

Layouts macro output
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
LVL 23

Expert Comment

by:JSRWilson
ID: 41901762
She's just a temptress!
1
 
LVL 11

Expert Comment

by:Jamie Garroch
ID: 41901770
And you sir. Well, you're just too fast. I'm going to start calling you speedy Gonazales. Arriba arriba!
0
 

Author Closing Comment

by:brothertruffle880
ID: 41903509
Wow.  Great help.  Thanks to all!
0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most folk recognise that Microsoft Excel, being a numbers-and-formulae-centric application attracts programmers due to the natural fit in mindset. Conversly, when opening Microsoft's dominant presentation creative application, few consider what…
Setting the Scene Animations in PowerPoint are a great tool to convey messages when used carefuly with the content of your slides. There are plenty of animation effects and options, including a Repeat feature for individual animation effects. …
The viewer will learn how to edit animations within the presentation, incorporate sound, and set everything up with timing.
The viewer will learn how to  create a slide that will launch other presentations in Microsoft PowerPoint. In the finished slide, each item launches a new PowerPoint presentation and when each is finished it automatically comes back to this slide: …

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question