Ув. обитатели данного ресурса подскажите пожалуйста в чем моя ошибка.
Пытаюсь записать в Range вариантный массив.
Variant vVarApp,vVarBooks,vVarBook,vVarSheets,vVarSheet,vVarCell;
Variant v;
vVarApp=CreateOleObject("Excel.Application");
vVarBooks=vVarApp.OlePropertyGet("Workbooks");
vVarApp.OlePropertySet("SheetsInNewWorkbook",1);
vVarBooks.OleProcedure("Add");
vVarBook=vVarBooks.OlePropertyGet("Item",1);
vVarSheets=vVarBook.OlePropertyGet("Worksheets") ;
vVarSheet=vVarSheets.OlePropertyGet("Item",1);
vVarSheet.OlePropertySet("Name","bla bla");
vVarSheet=vVarSheets.OlePropertyGet("Item",1);
vVarApp.OlePropertySet("Visible",true);
vVarCell=vVarSheet.OlePropertyGet("Range","A1:A4");
vVarCell.OleProcedure("Select");
Variant arr = VarArrayCreate(OPENARRAY(int,(0,3)), varByte);
if(arr.IsArray())
{
arr.PutElement(1, 0);
arr.PutElement(2, 1);
arr.PutElement(3, 2);
arr.PutElement(4, 3);
vVarCell.OlePropertySet("Value", arr);
}
Записывает весь Range первым элементом массива.
Подскажите выход?
Не все то код, что компилируеться. (с) Рефракторинг