Bueno, como el athletic ha ganado, os pongo el código que no me funcionaba en un principio. Funcionaba para excel 2000 y 2003 pero no para excel 2007.
Código Delphi
[-]
procedure ....
Excel: variant; Libro: variant; Hoja: variant; begin
with SaveDialog1 do
begin
FileName :=DirectoryListBox1.Directory+'\'+trim(QPresupuestosSERIE.AsString)+'-'+trim(QPresupuestosNUMERO.AsString)+'.xls';
Filter:= 'Ficheros Excel|*.XLS;Todos los Ficheros|*.*';
DefaultExt := 'XLS';
Title := 'Exportando a Excel';
if execute then
begin
try
fichero:= SAveDialog1.FileName;
try
QLineasPres.Filtered:= False;
contRow:= 2; SheetsCont:= 0;
Excel := CreateOleObject( 'Excel.Application');
try
Excel.visible := False;
Excel.SheetsInNewWorkbook := 1;
xlt:= parametro('PRES_HOJAXLT');
if xlt<> '' then Libro := Excel.WorkBooks.Add();
Hoja := Libro.WorkSheets.Add;
Hoja := Libro.WorkSheets[1];
etc...
Pues eso, la diferencia está en el tipo de variable, que en este caso era variant y en el caso de roman olevariant.
Si hay algún gurú que pueda encontrar una respuesta, pues que nos la cuente si no es molestia.
Saludos
http://www.elcorreodigital.com/vizcaya/
Aupa Athletic !!