TPE

http://bayanbox.ir/view/263405954590585756/2mobile.png

Tavvafi@gmail.com


≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

کدهایی برای کار کردن با هر Shape در یک اسلاید

کارکردن با اسلایدی در یم پرزنتیشن

و کارکردن  با پرزنتیشنی در فولدری

و کدی برای کارکردن با تکست باکسی در یک پرزنتیشن

Sub EveryTextBoxOnSlide()
' Performs some operation on every shape that contains text on every slide
' (doesn't affect charts, tables, etc)

    Dim oSh As Shape
    Dim oSl As Slide

    On Error GoTo ErrorHandler

    For Each oSl In ActivePresentation.Slides
        For Each oSh In oSl.Shapes
            With oSh
                If .HasTextFrame Then
                    If .TextFrame.HasText Then
                        ' If font size is mixed, don't touch the font size
                        If .TextFrame.TextRange.Font.Size > 0 Then
                            .TextFrame.TextRange.Font.Size = .TextFrame.TextRange.Font.Size + 2
                        End If
                    End If
                End If
            End With
        Next    ' shape
    Next    ' slide

NormalExit:
    Exit Sub

ErrorHandler:
    Resume Next

End Sub

Sub EverySlideInPresentation()
' Performs some operation on every slide in the currently active presentation

    Dim oSl As Slide

    For Each oSl In ActivePresentation.Slides
        ' for example, show its name and index number:
        Debug.Print oSl.Name & vbTab & oSl.SlideIndex

        ' or do something with every shape on the slide:
        Call EveryShapeOnSlide(oSl)

    Next oSl

End Sub

Sub EveryPresentationInFolder()
' Performs some operation on every presentation file in a folder

    Dim sFolder As String   ' Full path to folder we'll examine
    Dim sFileSpec As String ' Filespec, e.g. *.PPT
    Dim sFileName As String ' Name of a file in the folder
    Dim oPres As Presentation

    ' Edit this:
    sFolder = "C:\Files\"    ' must end with a \ character
    sFileSpec = "*.PPT"

    ' Get the first filename that matches the spec:
    sFileName = Dir$(sFolder & sFileSpec)

    While sFileName <> ""
        ' do something with the presentation ...
        ' Open it
        Set oPres = Presentations.Open(sFolder & sFileName, msoFalse)
        ' Display the number of slides in it
        Debug.Print oPres.Slides.Count

        ' Or you could do something to every slide in the presentation:
        Call EverySlideInPresentation

        ' close the presentation
        oPres.Close
        ' release the reference
        Set oPres = Nothing

        ' Once done, see if there's another presentation that meets our spec
        ' then around the loop again
        sFileName = Dir()
    Wend

End Sub

Sub EveryShapeOnSlide(oSl as Slide)
' Performs some operation on every shape on a slide

    Dim oSh As Shape
    On Error GoTo ErrorHandler

    For Each oSh In oSl.Shapes
        ' Show the name of the shape:
        Debug.Print oSh.Name

        ' or whatever else you want to do

        ' for example, ungroup/regroup certain types of shapes:
        Select Case oSh.Type
            Case Is = msoEmbeddedOLEObject, msoLinkedOLEObject, msoPicture
                ' Attempting to ungroup a bitmap image causes an error
                ' but no harm is done; we'll ignore it.
                On Error Resume Next
                oSh.Ungroup.Group
                On Error GoTo ErrorHandler
            Case Else
                ' ignore other shape types
        End Select

    Next oSh

NormalExit:
    Exit Sub

ErrorHandler:
    Resume Next