1
« en: Martes 8 de Marzo de 2011, 21:57 »
Buenas tardes,
Quisiera saber si alguien me podria ayudar, e estado buscando solucion por horas y no puedo encontrarla, estoy manejando excel desde C++ Builder y todo me habia funcionado muy bien hasta que intente escribir en una celda lo que tenia en un Edit.
Al compilar no me marca ningun error pero cuando ejecuto el programa no se escribe todo en el excel, solo un fragmento de lo que esta escrito en el Edit.
El error que me arroja es:
Invalid Adress specified to RtlSizeHeap( 002F0000, 01A361C0 )
No entiendo cual sea el problema.
El fragmento de codigo que me esta provocando el error es el siguiente (especificamente la linea que esta remarcada):
Variant excel,hoja;
AnsiString fileIn, path;
excel = CreateOleObject( "Excel.Application" );
excel.OlePropertySet( "Visible" , true );
fileIn ="C:\Users\Administrator\Desktop\Almacen\new.xlsx";
excel.OlePropertyGet("Workbooks").OleProcedure("Open", fileIn.c_str());
excel.OlePropertyGet("Worksheets").OlePropertyGet("Item",a).OlePropertyGet("Cells").OlePropertyGet("Item",2,2).OlePropertySet("Value",Edit1->Text.c_str());
excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","C:\Users\Administrator\Desktop\Almacen\new.xlsx");
De ante mano muchas gracias por su tiempo =)
Resuelto cambiando Edit1->Text.c_str() por Edit1->Text.t_str()