Bueno, me contesto yo
Eso que yo hacia; lo hacia creando un objeto con:
Código Delphi
[-]
var
excel: Variant;
excel := CreateOleObject('Excel.Application');
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');
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;
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