C/Visual C - VC++6 + Excel

 
Vista:

VC++6 + Excel

Publicado por Carlos (3 intervenciones) el 04/02/2004 15:21:50
Quisiera saber cómo hacer algo así en VC++6 pero que funcione:

_Application xla;
_Workbook xlw = Workbooks( xla.GetWorkbooks() ). Add ();
_Worksheet xls = _Worksheet ( xlw.GetActivesheet() );
xls.SetCells(1,1,"hola");
xlw.Close();
xla.Quit();

Hasta el momento tengo un código similar a ese (no recuerdo los detalles exactos, recuerdo que había también un par de VARIANTs) pero obtengo una violación de acceso al hacer xla.GetWorkboos(). ¿Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VC++6 + Excel

Publicado por Carlos (3 intervenciones) el 04/02/2004 20:17:12
El código que tengo es:

_Application xla;
VARIANT v,v2;
v.uintVal = 0xFFFFEFB9; //xlWBATWorksheet
LPDISPATCH l=xla.GetWorkbooks();
Workbooks wbs(l);
l = wbs.Add(v);

Quisiera avanzar más, pero solo llega hasta esa línea. No sé si la creación de wbs está bien hecha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VC++6 + Excel (resuelto)

Publicado por Carlos (3 intervenciones) el 04/02/2004 23:10:30
Gracias por quienes se interesaron. Aquí está el código si es que alguien lo necesita:

COleVariant v,v2;

_Application xla;
xla.CreateDispatch("Excel.Application.10");

Workbooks wbs = Workbooks(xla.GetWorkbooks());

v = long(0xFFFFEFB9); //xlWBATWorksheet
_Workbook wb = _Workbook(wbs.Add(v));

_Worksheet ws = _Worksheet(wb.GetActiveSheet());

v = short(1);
v2 = COleVariant("hola!");
Range(ws.GetCells()).Set_Default(v,v,v2);

v.ChangeType(VT_NULL);
wb.Close(v,v,v);

xla.Quit();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar