Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-03-2005
ainclanmx ainclanmx is offline
Registrado
 
Registrado: jul 2004
Posts: 4
Poder: 0
ainclanmx Va por buen camino
Question Delphi a Excel: Celda Activa

Saludos

Estoy haciendo una aplicación que pasa el contenido de un grid a excel. Todo funciona muy bien (gracias a la ayuda del foro), Pero no he podido encontrar como hacer que cuando se pone un valor a una celda referenciada con indices ( Libro.Cells[j,i] := myVar ), ésta se pueda conviertir en la celda activa; Mi intención es que bajo ciertas condiciones la celda pueda cambiar el color de fondo.

He observado que aunque se le pongan valores a las celdas, éstas no se convierten en activas.

Se que se puede usar

Range("A1").Select;

para seleccionar, pero en ejecucion se desconoce la celda que se quiere activar, solo se conoce el número de Renglon y de Columna

Uso D7 y excel2000
Mis definiciones son:
Libro := Excel.WorkBooks[1].WorkSheets[HojaActual];
Libro.Cells[j,i] := MyVar;


Cualquier ayuda se gradece de antemano.
Responder Con Cita
  #2  
Antiguo 01-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pero a partir de i, j puedes construir la referencia ¿no?

Si i es el renglón y j la columna entonces, por ejemplo, (i=3, j=5) sería "E3".

Algo como:

Char(j + Ord('A')) te dará la letra correcta.

Claro que si pasas de la Z tendrás que ingeniártelas para lidiar con AA, AB, AC, ... , ZZ, etc.

// Saludos
Responder Con Cita
  #3  
Antiguo 02-03-2005
ainclanmx ainclanmx is offline
Registrado
 
Registrado: jul 2004
Posts: 4
Poder: 0
ainclanmx Va por buen camino
Continua

Gracias por tu atencion

Tienes razon, yo lo construyo con i,j y utilizo un array en el que estan definidas las letras 'A' -> 'AZ' y donde necesito las letras, utilizo array[i] y funciona bien siempre y cuando no pase de los limites del arreglo;

Mas bien creo que debe haber una forma que no dependa del arreay y de paso sea mas elegante .
Responder Con Cita
  #4  
Antiguo 29-03-2005
Nebli
 
Posts: n/a
Hola, yo estoy ahora también con el tema de leer y escribir datos en Excel y leerlos desde Excel ( esto último se me está complicando bastante ) y esta es alguna información que he podido recopilar:

// para seleccionar las celdas que forma el cuadro definido DE esquinas B5 y C7
WS.Range['B5', 'C7'].Select;

// para seleccionar la celda B5 solamente
WS.Range['B5', 'B5'].Select;

// Para poner el texto de una celda activa ( la A6 ) en el formato indicado
WS.Range['A6', 'A6'].Select;
with ExcelApplication1.ActiveCell.Font do
begin
Size := 20;
FontStyle := 'Bold';
Color := clgreen;
Name := 'Arial';
end;

// para poner los tres primeros caracteres en una celda en regrita y el resto normales
WS.Range['A9', 'A9'].Select;
Start := 1;
Length := 3;
ExcelApplication1.ActiveCell.Characters[Start, Length].Font.FontStyle := 'Bold';
Start := 4;
Length := 16;
ExcelApplication1.ActiveCell.Characters[Start, Length].Font.FontStyle := 'Regular';

Si necesitas alguna cosa más, si la tengo te la hago llegar.

Un saludo. Neblí.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:26:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi