Variant vVarShape = vVarSheet.OlePropertyGet("Shapes").OleFunction("AddPicture", "F:\\Pictures\\IMG0079.BMP",false,true,vVarSheet.OlePropertyGet("Range","A5").OlePropertyGet("Left"),vVarSheet.OlePropertyGet("Range","A5").OlePropertyGet("Top"),-1,-1);
vVarShape.OleFunction("IncrementLeft",177.75);
Скопировать с tchart в excel
Возникла следующая ситуация:
Рисуется график в tchart'е. Его потом надо скопировать в excel, например не с А1, а d4. И все остальные графики следом за ним. Как определить ячейку с которой начнется график записываться? Размеры графов одинаковые.
В смысле картинку, или данные?
Пробовал через CopyToClipboardMetafile(true) но:
1) Вставлять придется вручную
2) Вставить надо в определенное место в excel
А вобще хочу сделать так, чтобы вставлялся большой рисунок по размеру и потом сжимать его на месте. Потому что если делать на tcharte маленький, некрасиво получается.
Вот код:
try
{
//iStartExcel - ф-я открытия дока
if(iStartExcel("C:\\1.xls")) return;
vVarSheet.OlePropertyGet("Shapes").OleFunction("AddPicture",
"c:\\1.bmp",false,true,vVarSheet.OlePropertyGet
("Range","A5").OlePropertyGet("Left"),
vVarSheet.OlePropertyGet("Range","A5").OlePropertyGet("Top"),-1,-1);
vVarSheet.OlePropertyGet("Pictures","Picture 1");
Variant v=vVarApp.OlePropertyGet("Selection");
v.OlePropertyGet("ShapeRange").OleFunction("IncrementLeft",-177.75);
// v.OlePropertyGet("ShapeRange").OleFunction("IncrementTop",100);
// v.OlePropertyGet("ShapeRange").OleFunction("IncrementRotation",-90);
}catch(...)
{
}
iStopExcel(1,"C:\\1.xls");
Close();
Код:
ps. я бы ввёл временную переменную Variant varA5 = vVarSheet.OlePropertyGet("Range","A5"). Хоть на три миллисекунды -- а быстрее.
vVarShape.OleFunction("ScaleWidth",50);
Цитата: gitzzz
Так все-таки, как можно сжать рисунок? Пробовал через ScaleWidth - ругается, мол "Недопустимое число параметров"
vVarShape.OleFunction("ScaleWidth",50);
vVarShape.OleFunction("ScaleWidth",50);
Значит, недопустимое.
http://msdn.microsoft.com/en-us/library/aa167699(office.10).aspx
http://msdn.microsoft.com/en-us/library/aa662163(office.10).aspx
Добавлено: Хинт: В Microsoft Excel работают следующие клавиши и их сочетания: Alt+F11, F1, F2.