Ver Mensaje Individual
  #5  
Antiguo 16-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
No es fallo de delphi, ya encontré donde está el error:
Código Delphi [-]
excel.Range['A'+inttostr(fila+3),'m'+inttostr(fila+3)]

cuando eso se ejecuta, la cosa queda así en tiempo de ejecución:
Código Delphi [-]
excel.Range[A7,m7]
pero eso no está entre comillas !! quizás esté calculando el código ascii de la letra "A" y lo multiplique por siete, y lo mismo con la "m", después de todo, a saber el valor que interpreta realmente.

Tú esperas que quedara así:
Código Delphi [-]
excel.Range['A7','m7']
y para conseguirlo, el código debe ser (bueno un ejemplo de cómo lo haría yo)
Código Delphi [-]
function GetCelda(letra:char; fila:integer):string;
begin
   Result := QuotedStr(letra + inttostr(fila));
end;

excel.Range[GetCelda('A',fila + 3),
            GetCelda('m', fila + 3) ]

El truco: QuotedStr.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 16-03-2008 a las 13:20:59.
Responder Con Cita