for (int row = 1; row <= ws.UsedRange.Rows.Count; row++)
{
for (int col = 1; col <= ws.UsedRange.Columns.Count; col++)
{
Range rge = ws.Cells[row, col] as Range;
foreach (Shape sh in ws.Shapes)
{
Range rg = excel.get_Range(sh.TopLeftCell, sh.BottomRightCell);
if (excel.Intersect(rge, rg, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing) != null)
{
sh.CopyPicture(Appearance.Button, Microsoft.Office.Interop.Excel.XlCopyPictureFormat.xlBitmap);
IDataObject data = Clipboard.GetDataObject();
if (data.GetDataPresent(DataFormats.Bitmap))
{
Image image = (Image)data.GetData(DataFormats.Bitmap, true);
image.Save("test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
}
} |