Article ID: 163530
Article Last Modified on 8/17/2005
Sub CountGraphs()
' Dimension the variables.
Dim shapeObject As Shape
Dim lSlideNumber As Long
Dim lCount As Long
Dim strPrompt As String
Dim strTitle As String
Dim lBoxStyle As Long
' Make sure PowerPoint is using slide view.
If ActiveWindow.ViewType <> ppViewSlide Then
MsgBox "You must be in slide view to run this macro."
End
End If
' Initialize the counter.
lCount = 0
' Get the current slide number.
lSlideNumber = ActiveWindow.Selection.SlideRange.SlideNumber
' Look at all shapes on the current slide.
For Each shapeObject In _
ActivePresentation.Slides(lSlideNumber).Shapes
' Check to see whether shape is an OLE object.
If shapeObject.Type = msoEmbeddedOLEObject Then
' Check to see whether OLE object is Graph 8 object. The ProgID
' is case sensitive.
If shapeObject.OLEFormat.ProgID = "MSGraph.Chart.8" Then
' Found a graph; add 1 to the total.
lCount = lCount + 1
End If
End If
Next shapeObject
' Creates and then displays the message box.
' Set the message box style.
lBoxStyle = vbInformation
Select Case lCount
' No graphs were found.
Case 0
strPrompt = "No graphs were found on the slide."
strTitle = "No graphs"
' One graph was found.
Case 1
strPrompt = "One graph was found on the slide."
strTitle = "One Graph"
' More than one graph was found.
Case Is > 1
strPrompt = lCount & " Graphs were found on the slide."
strTitle = lCount & " Graphs"
' An error occurred.
Case Else
strPrompt = "An error occurred!"
strTitle = "Error"
lBoxStyle = vbCritical
End Select
'Display the message box.
MsgBox strPrompt, lBoxStyle, strTitle
End Sub
176476 OFF: Office Assistant Not Answering Visual Basic Questions
163435 VBA: Programming Resources for Visual Basic for Applications
Additional query words: 8.00 ppt8 vba vbe macppt mac_ppt ppt98 powerpt OFF97
Keywords: kbinfo kbmacro kbprogramming kbdtacode kbcode KB163530