Записывайте действия в Excel макрорекордером, причесывайте получившийся код VBA, портируйте его на X++.
Следующий код VBA достает картинку из файла и позиционирует ее левый верхний угол в левый верхний угол ячейки B3:
Код:
Range("B3").Select
ActiveSheet.Pictures.Insert "C:\MyPicture.jpg"
P.S.
X++:
{
ComExcelDocument_RU doc = new ComExcelDocument_RU();
COM xlApp; // Excel.Application
COM wbook;
COM activeSheet;
COM pictures;
COM range;
;
doc.NewFile();
wbook = doc.getComDocument();
xlApp = wbook.Parent();
activeSheet = xlApp.ActiveSheet();
range = activeSheet.Range(ComExcelDocument_RU::numToNameCell(2,3)); // B3
range.Select();
pictures = activeSheet.Pictures();
pictures.Insert(@'C:\MyPicture.jpg');
}
Соответственно, если картинка вставляется из буфера обмена и уже находится в нем, то вместо двух последних строк достаточно одного оператора:
X++:
activeSheet.Paste();
// pictures = activeSheet.Pictures();
// pictures.Insert(@'C:\MyPicture.jpg');