KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q163781: PPT: Sample Code Displays Message Box With AutoShape Type Name

Article: Q163781
Product(s): Microsoft PowerPoint for Windows
Version(s): MACINTOSH:98; WINDOWS:97
Operating System(s): 
Keyword(s): kbcode kbmacro kbProgramming kbdta kbdtacode KbVBA _IK11573
Last Modified: 13-MAY-2002

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft PowerPoint 98 Macintosh Edition 
- Microsoft PowerPoint 97 for Windows 
- Microsoft Visual Basic for Applications 
-------------------------------------------------------------------------------

SUMMARY
=======

This article contains a sample Microsoft Visual Basic for Applications macro
(Sub procedure) that retrieves the shape type for a selected AutoShape object
and then displays a message box with the name of the shape type.

MORE INFORMATION
================

Microsoft provides programming examples for illustration only, without warranty
either expressed or implied, including, but not limited to, the implied
warranties of merchantability and/or fitness for a particular purpose. This
article assumes that you are familiar with the programming language being
demonstrated and the tools used to create and debug procedures. Microsoft
support professionals can help explain the functionality of a particular
procedure, but they will not modify these examples to provide added
functionality or construct procedures to meet your specific needs. If you have
limited programming experience, you may want to contact a Microsoft Certified
Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more
information about Microsoft Certified Partners, please visit the following
Microsoft Web site:

  http://www.microsoft.com/partner/referral/

For more information about the support options that are available and about how
to contact Microsoft, visit the following Microsoft Web site:

  http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Sample Visual Basic Procedure
-----------------------------

     Sub GetAutoShapeName()

        ' Dimension the variables.
        Dim strAutoShape As String
        Dim lCurrentSlide As Long
        Dim lCurrentView As Long
        Dim oShape As Shape

        ' Determine what the current slide view is.
        lCurrentView = ActiveWindow.ViewType

        ' See whether in slide view.
        If lCurrentView <> ppViewSlide Then

           ' Display error message.
           MsgBox "This macro is designed to be run in slide view. " _
              & "Switch to slide view, select a shape and run the " _
              & "macro again. ", vbExclamation, "Invalid View"

           ' Stop the macro.
           End

        End If

        ' Check to make sure something is selected.
        If ActiveWindow.Selection.Type = ppSelectionNone Then

           ' Display error message box.
           MsgBox "No objects are selected. Please select one object " _
              & "and run the macro again.", vbExclamation

           ' End the macro.
           End

        End If

        ' Get the current slide number.
        lCurrentSlide = ActiveWindow.Selection.SlideRange.SlideNumber

        ' See whether more than one shape is selected.
        If ActiveWindow.Selection.ShapeRange.Count > 1 Then

           ' Display error message.
           MsgBox "Too many objects selected. Please select one object " _
              & "and run the macro again.", vbExclamation

           ' Stop the macro.
           End

        End If

        ' Get reference to selected shape.
        Set oShape = ActiveWindow.Selection.ShapeRange(1)

        ' Determine the type of autoshape.
        Select Case oShape.AutoShapeType

           Case msoShape16pointStar
              strAutoShape = "16pointStar"
           Case msoShape24pointStar
              strAutoShape = "24point Star"
           Case msoShape32pointStar
              strAutoShape = "32pointStar"
           Case msoShape4pointStar
              strAutoShape = "4pointStar"
           Case msoShape5pointStar
              strAutoShape = "5pointStar"
           Case msoShape8pointStar
              strAutoShape = "8pointStar"
           Case msoShapeActionButtonBackorPrevious
              strAutoShape = "ActionButtonBackorPrevious"
           Case msoShapeActionButtonBeginning
              strAutoShape = "ActionButtonBeginning"
           Case msoShapeActionButtonCustom
              strAutoShape = "ActionButtonCustom"
           Case msoShapeActionButtonDocument
              strAutoShape = "ShapeActionButtonDocument"
           Case msoShapeActionButtonEnd
              strAutoShape = "ActionButtonEnd"
           Case msoShapeActionButtonForwardorNext
              strAutoShape = "ActionButtonForwardorNext"
           Case msoShapeActionButtonHelp
              strAutoShape = "ActionButtonHelp"
           Case msoShapeActionButtonHome
              strAutoShape = "ActionButtonHome"
           Case msoShapeActionButtonInformation
              strAutoShape = "ActionButtonInformation"
           Case msoShapeActionButtonMovie
              strAutoShape = "ActionButtonMovie"
           Case msoShapeActionButtonReturn
              strAutoShape = "ActionButtonReturn"
           Case msoShapeActionButtonSound
              strAutoShape = "ActionButtonSound"
           Case msoShapeArc
              strAutoShape = "Arc"
           Case msoShapeBalloon
              strAutoShape = "Balloon"
           Case msoShapeBentArrow
              strAutoShape = "BentArrow"
           Case msoShapeBentUpArrow
              strAutoShape = "BentUpArrow"
           Case msoShapeBevel
              strAutoShape = "Bevel"
           Case msoShapeBlockArc
              strAutoShape = "BlockArc"
           Case msoShapeCan
              strAutoShape = "Can"
           Case msoShapeChevron
              strAutoShape = "Chevron"
           Case msoShapeCircularArrow
              strAutoShape = "CircularArrow"
           Case msoShapeCloudCallout
              strAutoShape = "CloudCallout"
           Case msoShapeCross
              strAutoShape = "Cross"
           Case msoShapeCube
              strAutoShape = "Cube"
           Case msoShapeCurvedDownArrow
              strAutoShape = "CurvedDownArrow"
           Case msoShapeCurvedDownRibbon
              strAutoShape = "CurvedDownRibbon"
           Case msoShapeCurvedLeftArrow
              strAutoShape = "CurvedLeftArrow"
           Case msoShapeCurvedRightArrow
              strAutoShape = "CurvedRightArrow"
           Case msoShapeCurvedUpArrow
              strAutoShape = "CurvedUpArrow"
           Case msoShapeCurvedUpRibbon
              strAutoShape = "CurvedUpRibbon"
           Case msoShapeDiamond
              strAutoShape = "Diamond"
           Case msoShapeDonut
              strAutoShape = "Donut"
           Case msoShapeDoubleBrace
              strAutoShape = "DoubleBrace"
           Case msoShapeDoubleBracket
              strAutoShape = "DoubleBracket"
           Case msoShapeDoubleWave
              strAutoShape = "DoubleWave"
           Case msoShapeDownArrow
              strAutoShape = "DownArrow"
           Case msoShapeDownArrowCallout
              strAutoShape = "DownArrowCallout"
           Case msoShapeDownRibbon
              strAutoShape = "DownRibbon"
           Case msoShapeExplosion1
              strAutoShape = "Explosion1"
           Case msoShapeExplosion2
              strAutoShape = "Explosion2"
           Case msoShapeFlowchartAlternateProcess
              strAutoShape = "FlowchartAlternateProcess"
           Case msoShapeFlowchartCard
              strAutoShape = "FlowchartCard"
           Case msoShapeFlowchartCollate
              strAutoShape = "FlowchartCollate"
           Case msoShapeFlowchartConnector
              strAutoShape = "FlowchartConnector"
           Case msoShapeFlowchartData
              strAutoShape = "FlowchartData"
           Case msoShapeFlowchartDecision
              strAutoShape = "FlowchartDecision"
           Case msoShapeFlowchartDelay
              strAutoShape = "FlowchartDelay"
           Case msoShapeFlowchartDirectAccessStorage
              strAutoShape = "FlowchartDirectAccessStorage"
           Case msoShapeFlowchartDisplay
              strAutoShape = "FlowchartDisplay"
           Case msoShapeFlowchartDocument
              strAutoShape = "FlowchartDocument"
           Case msoShapeFlowchartExtract
              strAutoShape = "FlowchartExtract"
           Case msoShapeFlowchartInternalStorage
              strAutoShape = "FlowchartInternalStorage"
           Case msoShapeFlowchartMagneticDisk
              strAutoShape = "FlowchartMagneticDisk"
           Case msoShapeFlowchartManualInput
              strAutoShape = "FlowchartManualInput"
           Case msoShapeFlowchartManualOperation
              strAutoShape = "FlowchartManualOperation"
           Case msoShapeFlowchartMerge
              strAutoShape = "FlowchartMerge"
           Case msoShapeFlowchartMultidocument
              strAutoShape = "FlowchartMultidocument"
           Case msoShapeFlowchartOffpageConnector
              strAutoShape = "FlowchartOffpageConnector"
           Case msoShapeFlowchartOr
              strAutoShape = "FlowchartOr"
           Case msoShapeFlowchartPredefinedProcess
              strAutoShape = "FlowchartPredefinedProcess"
           Case msoShapeFlowchartPreparation
              strAutoShape = "FlowchartPreparation"
           Case msoShapeFlowchartProcess
              strAutoShape = "FlowchartProcess"
           Case msoShapeFlowchartPunchedTape
              strAutoShape = "FlowchartPunchedTape"
           Case msoShapeFlowchartSequentialAccessStorage
              strAutoShape = "FlowchartSequentialAccessStorage"
           Case msoShapeFlowchartSort
              strAutoShape = "FlowchartSort"
           Case msoShapeFlowchartStoredData
              strAutoShape = "FlowchartStoredData"
           Case msoShapeFlowchartSummingJunction
              strAutoShape = "FlowchartSummingJunction"
           Case msoShapeFlowchartTerminator
              strAutoShape = "FlowchartTerminator"
           Case msoShapeFoldedCorner
              strAutoShape = "FoldedCorner"
           Case msoShapeHeart
              strAutoShape = "Heart"
           Case msoShapeHexagon
              strAutoShape = "Hexagon"
           Case msoShapeHorizontalScroll
              strAutoShape = "HorizontalScroll"
           Case msoShapeIsoscelesTriangle
              strAutoShape = "IsoscelesTriangle"
           Case msoShapeLeftArrow
              strAutoShape = "LeftArrow"
           Case msoShapeLeftArrowCallout
              strAutoShape = "LeftArrowCallout"
           Case msoShapeLeftBrace
              strAutoShape = "LeftBrace"
           Case msoShapeLeftBracket
              strAutoShape = "LeftBracket"
           Case msoShapeLeftRightArrow
              strAutoShape = "LeftRightArrow"
           Case msoShapeLeftRightArrowCallout
              strAutoShape = "LeftRightArrowCallout"
           Case msoShapeLeftRightUpArrow
              strAutoShape = "LeftRightUpArrow"
           Case msoShapeLeftUpArrow
              strAutoShape = "LeftUpArrow"
           Case msoShapeLightningBolt
              strAutoShape = "LightningBolt"
           Case msoShapeLineCallout1
              strAutoShape = "LineCallout1"
           Case msoShapeLineCallout1AccentBar
              strAutoShape = "LineCallout1AccentBar"
           Case msoShapeLineCallout1BorderandAccentBar
              strAutoShape = "LineCallout1BorderandAccentBar"
           Case msoShapeLineCallout1NoBorder
              strAutoShape = "LineCallout1NoBorder"
           Case msoShapeLineCallout2
              strAutoShape = "LineCallout2"
           Case msoShapeLineCallout2AccentBar
              strAutoShape = "LineCallout2AccentBar"
           Case msoShapeLineCallout2BorderandAccentBar
              strAutoShape = "LineCallout2BorderandAccentBar"
           Case msoShapeLineCallout2NoBorder
              strAutoShape = "LineCallout2NoBorder"
           Case msoShapeLineCallout3
              strAutoShape = "LineCallout3"
           Case msoShapeLineCallout3AccentBar
              strAutoShape = "LineCallout3AccentBar"
           Case msoShapeLineCallout3BorderandAccentBar
              strAutoShape = "LineCallout3BorderandAccentBar"
           Case msoShapeLineCallout3NoBorder
              strAutoShape = "LineCallout3NoBorder"
           Case msoShapeLineCallout4
              strAutoShape = "LineCallout4"
           Case msoShapeLineCallout4AccentBar
              strAutoShape = "LineCallout4AccentBar"
           Case msoShapeLineCallout4BorderandAccentBar
              strAutoShape = "LineCallout4BorderandAccentBar"
           Case msoShapeLineCallout4NoBorder
              strAutoShape = "LineCallout4NoBorder"
           Case msoShapeMixed
              strAutoShape = "Mixed"
           Case msoShapeMoon
              strAutoShape = "Moon"
           Case msoShapeNoSymbol
              strAutoShape = "NoSymbol"
           Case msoShapeNotchedRightArrow
              strAutoShape = "NotchedRightArrow"
           Case msoShapeNotPrimitive
              strAutoShape = "NotPrimitive"
           Case msoShapeOctagon
              strAutoShape = "Octagon"
           Case msoShapeOval
              strAutoShape = "Oval"
           Case msoShapeOvalCallout
              strAutoShape = "OvalCallout"
           Case msoShapeParallelogram
              strAutoShape = "Parallelogram"
           Case msoShapePentagon
              strAutoShape = "Pentagon"
           Case msoShapePlaque
              strAutoShape = "Plaque"
           Case msoShapeQuadArrow
              strAutoShape = "QuadArrow"
           Case msoShapeQuadArrowCallout
              strAutoShape = "QuadArrowCallout"
           Case msoShapeRectangle
              strAutoShape = "Rectangle"
           Case msoShapeRectangularCallout
              strAutoShape = "RectangularCallout"
           Case msoShapeRegularPentagon
              strAutoShape = "RegularPentagon"
           Case msoShapeRightArrow
              strAutoShape = "RightArrow"
           Case msoShapeRightArrowCallout
              strAutoShape = "RightArrowCallout"
           Case msoShapeRightBrace
              strAutoShape = "RightBrace"
           Case msoShapeRightBracket
              strAutoShape = "RightBracket"
           Case msoShapeRightTriangle
              strAutoShape = "RightTriangle"
           Case msoShapeRoundedRectangle
              strAutoShape = "RoundedRectangle"
           Case msoShapeRoundedRectangularCallout
              strAutoShape = "RoundedRectangularCallout"
           Case msoShapeSmileyFace
              strAutoShape = "SmileyFace"
           Case msoShapeStripedRightArrow
              strAutoShape = "StripedRightArrow"
           Case msoShapeSun
              strAutoShape = "Sun"
           Case msoShapeTrapezoid
              strAutoShape = "Trapezoid"
           Case msoShapeUpArrow
              strAutoShape = "UpArrow"
           Case msoShapeUpArrowCallout
              strAutoShape = "UpArrowCallout"
           Case msoShapeUpDownArrow
              strAutoShape = "UpDownArrow"
           Case msoShapeUpDownArrowCallout
              strAutoShape = "UpDownArrowCallout"
           Case msoShapeUpRibbon
              strAutoShape = "UpRibbon"
           Case msoShapeUTurnArrow
              strAutoShape = "UTurnArrow"
           Case msoShapeVerticalScroll
              strAutoShape = "VerticalScroll"
           Case msoShapeWave
              strAutoShape = "ShapeWave"
           Case Else
              strAutoShape = "Not an AutoShape"

        End Select

        ' Display information sheet.
        MsgBox strAutoShape, vbInformation, "Auto Shape Name"

     End Sub

REFERENCES
==========

For more information about creating Visual Basic for Applications macros, click
the Office Assistant in Microsoft PowerPoint, type "how to create a macro"
(without the quotation marks), click Search, and then click to view "Create a
macro in Visual Basic Editor."

For more information about running Visual Basic for Applications macros, click
the Office Assistant in Microsoft PowerPoint, type "how to run a macro" (without
the quotation marks), click Search, and then click to view "Run a macro."

NOTE: If the Assistant is hidden, click the Office Assistant button on the
Standard toolbar. If the Assistant is not able to answer your query, please see
the following article in the Microsoft Knowledge Base:

  Q176476 OFF: Office Assistant Not Answering Visual Basic Questions

For more information about getting help with Visual Basic for Applications,
please see the following article in the Microsoft Knowledge Base:

  Q163435 VBA: Programming Resources for Visual Basic for Applications

Additional query words: 8.00 ppt8 vba vbe ppt ppt8.0 ppt97 macppt mac_ppt ppt98 powerpt

======================================================================
Keywords          : kbcode kbmacro kbProgramming kbdta kbdtacode KbVBA _IK11573 
Technology        : kbHWMAC kbOSMAC kbPowerPtSearch kbZNotKeyword6 kbPowerPt97 kbPowerPt97Search kbPowerPt98Search kbPowerPt98 kbVBASearch kbZNotKeyword3
Version           : MACINTOSH:98; WINDOWS:97
Hardware          : MAC x86
Issue type        : kbhowto

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.