This should do thet (check on a copy though)
Sub Zaps_OffSlide()
Dim osld As Slide
Dim oshp As Shape
Dim L As Long
For Each osld In ActivePresentation.Slides
For L = osld.Shapes.Count To 1 Step -1
Set oshp = osld.Shapes(L)
If isOffSlide(oshp) Then oshp.Delete
Next L
Next
End Sub
Function isOffSlide(oshp As Shape) As Boolean
Dim SW As Long
Dim SH As Long
SH = ActivePresentation.PageSetup.SlideHeight
SW = ActivePresentation.PageSetup.SlideWidth
With oshp
If .Left + .Width < 0 _
Or .Top + .Height < 0 _
Or .Top > SH _
Or .Left > SW Then isOffSlide = True
End With
End Function