Insert a picture at the correct size
PowerPoint doesn't allow you to directly use VBA to insert a picture at whatever size it'd come in at were you to do the same job manually.
Instead, it requires you to provide a height and width for the newly inserted picture.
Hard to do, when you don't know the height/width to start with. If you get the proportions wrong, you'll distort the picture.
So here's what you do. This will bring the picture in at whatever size it would normally come in if inserted manually.
Sub InsertAndSizePicture() Dim oPicture As Shape Dim FullPath As String Dim oSl As Slide ' Set this to the full path to picture. FullPath = "C:\My Documents\Pictures\MyPhoto.JPG" Set oSl = ActiveWindow.Selection.SlideRange(1) ' Insert the picture at an arbitrary size; ' PowerPoint requires you to supply *some* height and width for the picture Set oPicture = oSl.Shapes.AddPicture(FileName:=FullPath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=0, Top:=0, _ width:=100, height:=100) ' Rescale the picture to its "natural" slze With oPicture .Scaleheight 1, msoTrue .Scalewidth 1, msoTrue End With Set oPicture = Nothing Set oSl = Nothing End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.