I see that this has already been answered, but see my post here .
Basically, instead of using the Worksheet.Pictures.Insert method (which MSDN recommends you not to use directly and which returns a raw COM object), try using the Worksheet.Shapes.AddPicture method instead.
Dim range As Microsoft.Office.Interop.Excel.Range Dim pic as Microsoft.Office.Interop.Excel.Shape Dim filePath as String range = ... filePath = ... pic = range.Worksheet.Shapes.AddPicture(filePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, range.Left, range.Top, 300, 300)
Itβs not so simple, because you need to specify the exact location and dimensions, but otherwise, pretty cool!
source share