Ver Mensaje Individual
  #2  
Antiguo 11-06-2007
adfa adfa is offline
Miembro
 
Registrado: may 2003
Ubicación: Montevideo-Uruguay
Posts: 119
Reputación: 24
adfa Va por buen camino
Bueno, me contesto yo
Eso que yo hacia; lo hacia creando un objeto con:
Código Delphi [-]
var
   excel: Variant;
   excel  := CreateOleObject('Excel.Application');
//varias escrituras en celdas
   excel.selection.Subtotal(1,-4157,varArrayOf([4]),false, false,true);
Bien, esto funciona de maravilla.
Ahora esto no funciona, da un error el Excel.
Código Delphi [-]
var
   excel: Variant;
   excel  := CreateOleObject('Excel.Application');
//varias escrituras en celdas
   excel.selection.Subtotal(1,-4157,varArrayOf([4,5]),false, false,true);

Hice la prueba con los componentes de la paleta server.
Código Delphi [-]
var
   hoja : _WORKSHEET;
   libro : _WORKBOOK;
   i: integer;
begin
   libro := ExcelApplication1.Workbooks.Add(NULL, 0);
   Hoja := Libro.Sheets[1] as WORKSHEET;
//varias escrituras en celdas
hoja.Range[hoja.Cells.Item[1,1],hoja.Cells.Item[4,3]].Subtotal(1,xlSum,varArrayOf([4,5]),false,false,xlSummaryBelow);
  ExcelApplication1.Visible[0] := true;
Esto funciona perfecto, ahora bien encontre la solución pero tengo que reescribir casi toda la aplicación para usar los componentes de la solapa server.
Pero bueno lo hago, no me da pereza aunque me falta el tiempo.
Lo que no me gusta es quedarme con la intriga, alguien puede decirme porque el varArrayOf en un caso funciona y en otro no??

Saludos y gracias
Responder Con Cita