I know this is an old question but 2000 people have come this way (as did I) and the answer didn't help me. I now figured out why I was getting the type mismatch when tying to Set a declared shape variable to a known Powerpoint shape object..... I had dimensioned a shape variable in my vba code . . . but that vba code was MS Project not Powerpoint, Project code was populating a powerpoint presentation. So
Dim shp as shape
(within the MSP Code) dimensioned a shape from the MSP object library. The required correction was:
Dim shp as Powerpoint.shp (or if not bound, "Dim shp as object" would work).