Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
Unhappy Resaltar celda de excel

hola amigos del foro espero que podais ayudar.

Código Delphi [-]
procedure TfrmActas.Button1Click(Sender: TObject);
var
i,j:Integer;
excel:Variant;
begin
  try
   Excel := CreateOleObject('Excel.Application');
   except
     Excel.Quit;
     showmessage('No se pudo crear el Objecto Excel o se produjo algún error.');
     raise;
     end;
//***** Asignamos el archivo a abrir *****//
    Excel.Workbooks.Open('c:\ejemplo.xls'); 
    excel.cells[1,3].value:='Listado de Alumnos '+ AnioActual;//renglon 5 columna 1
     excel.cells[2,3].value:='Especialidad :'+cbxEspecialidades.Text;
     excel.cells[3,3].value:='Curso :'+cbxCursos.Text;
     excel.cells[6,2].value:='Codigo';
     excel.cells[6,3].value:='Nombre y Apellido del Alumno';
     excel.rows[6].font.bold := true;
     with DataSource1.DataSet do
     begin
       First;
       j:= 7;
       while not Eof do
       begin
          if Fields[0].Visible then
          begin
          excel.cells[j,2].value := Fields[0].AsString;
          excel.cells[j,3].value := fields[1].AsString +' '+ Fields[2].AsString;
          inc(j);
          end;
          Next;
       end;
       excel.cells[4,3].value:='Total de alumnos :'+IntToStr(j-7);
     end;
     excel.cells.columns.autofit;
     excel.visible:=true;
  end;

con este codigo paso datos a un documento excel que lo tengo externamente, aun no he podido crear uno nuevo desde delphi, cada vez que lo requiero.

La duda

Quiero resaltar y remarcar los bordes de una celda de este documento excel, dado ciertas condiciones, claro esta, espero me podais orientar con esta duda, Si es posible con las instrucciones o que me digan donde puedo encontrar algun manual sobre esto, porque no lo he podido hallar


Gracias de antemano
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #2  
Antiguo 08-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código Delphi [-]
Uses Excel2000
....

var
  Excel, Libro: Variant;
...

  Excel:=CreateOleObject('Excel.Application');
  Excel.Visible := False;
  Excel.DisplayAlerts:= False;
  Excel.WorkBooks.Add;
  Excel.WorkBooks[1].WorkSheets[1].Name := 'Reporte';
  Libro := Excel.WorkBooks[1].WorkSheets['Reporte'];
  Libro.Cells[1,1]:='Reporte';
.....
    Libro.Cells[i,4].Font.Bold:=True;
    Libro.Range['A'+inttostr(i-1), 'E'+inttostr(i-1)].Merge;
    Libro.Range['A'+inttostr(i-1), 'E'+inttostr(i-1)].Borders[xlBottom].weight := xlMedium;
    Libro.Range['A'+inttostr(i+1), 'E'+inttostr(i+1)].Merge;
    Libro.Range['A'+inttostr(i+1), 'E'+inttostr(i+1)].Borders[xlTop].weight := xlMedium;

  Excel.Visible:=true;

  //Excel.Quit;
  Libro:=Unassigned;
  Excel := Unassigned;

Con eso creas un archivo de excel nuevo y ahí viene el ejemplo de como poner bordes.
__________________

Responder Con Cita
  #3  
Antiguo 08-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
EL pirewview

Gracias contraveneno. Lo pruebo y te aviso.

Otra duda. Me podrias decir como puedo activar la vista previa de excel, directamente desde mi codigo en delphi
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #4  
Antiguo 08-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por voldemmor Ver Mensaje
Gracias contraveneno. Lo pruebo y te aviso.

Otra duda. Me podrias decir como puedo activar la vista previa de excel, directamente desde mi codigo en delphi

Hola, y lo que necesitas es que te abra el archivo una vez creado o verlo en una ventana de tu aplicación....

Para visualizar un archivo dentro de mi aplicación he utilizado el componente TWebBrowser (no me acuerdo de que paleta lo saque..)

y para pasar el archivo solo tienes que usar esto

Código Delphi [-]
   WebBrowser.Navigate(Ruta_del_archivo_y_nombre_de_archivo);

Salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 08-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Bueno, eso haría que vieras el archivo dentro de tu aplicación. Pero con la instrucción "Excel.Visible" ya muestras el archivo, no dentro de tu aplicación, pero ya se muestra.

Y para lanzar la vista previa de excel, pues no se como se haga. Aunque debo decir que no veo la necesidad de hacer eso. Ya le muestras el archivo al usuario, si el lo quiere imprimir, que lo haga, si no, simplemente cierra excel.
__________________

Responder Con Cita
  #6  
Antiguo 08-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
Tienes razon, en parte

Tienes razon , en parte, ya que le muestro el archivo de excel y el puede hacer lo que requira.

Pero: Ay de usuarios a usuarios, y creo yo que seria una buena obcion el activar excel en en vista previa.

PD: y despues de todo no es malo aprender algo nuevo.
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #7  
Antiguo 08-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Pues si encuentras como mandar llamar la vista previa, nos avisas, para aprender todos como hacerle.
__________________

Responder Con Cita
  #8  
Antiguo 08-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
otra dudita

Código Delphi [-]
 
excel.range['a1:d1'].HorizontalAlignment := 'xlHAlignCenter';
     excel.range['a1:d1'].VerticalAlignment := 'xlVAlignBottom';

esto se supone que debe alinear el texto.ç

Pero ne da un error, me dice que no se puede asignar el parametro.

Lo estoy aciendo bien o no. me podrian decir cual es mi error o si me falta algo en las cabeceras.
Solo tengo en las cabecera ComObj
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #9  
Antiguo 08-05-2008
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
Cita:
Empezado por ContraVeneno Ver Mensaje
como mandar llamar la vista previa
Código Delphi [-]
var
  ExcelApp: OleVariant;
  WorkBook: OLeVariant;

begin
  ExcelApp := ComObj.CreateOleObject('Excel.Application');
  WorkBook := ExcelApp.WorkBooks.Open('C:\ruta\al\archivo.xls');
  ExcelApp.Visible := true;
  WorkBook.PrintPreview;
end;

Cita:
Empezado por voldemmor Ver Mensaje
Código Delphi [-]
 
excel.range['a1:d1'].HorizontalAlignment := 'xlHAlignCenter';
     excel.range['a1:d1'].VerticalAlignment := 'xlVAlignBottom';

esto se supone que debe alinear el texto.
Los valores no se pasan como cadenas de caracteres pues son constantes numéricas. Debes incluir la unidad WordXP, o Word2000 o Word97, según la versión que uses.

// Saludos
Responder Con Cita
  #10  
Antiguo 09-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
ok_

Cita:
Empezado por roman Ver Mensaje
Los valores no se pasan como cadenas de caracteres pues son constantes numéricas. Debes incluir la unidad WordXP, o Word2000 o Word97, según la versión que uses.



// Saludos
Gracia.
Ese era mi problema ya que las pase tal como me la postearon pero no me reconocia el compilador asi que lo puse con cadena de caracteres a ver que pasaba. Prueba y Herror.

Gracias..
Y manos a la obra
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
Responder Con Cita
  #11  
Antiguo 11-05-2008
Avatar de voldemmor
voldemmor voldemmor is offline
Miembro
 
Registrado: ago 2006
Posts: 232
Poder: 18
voldemmor Va por buen camino
Gracias

Gracias amigos.

Ya se ha solucionado todo.

Bueno He usado el Codigo de contraveneno para generar un nuevo documento excel.
La manera que indica roman para activar la vista previa desde codigo es correcta.
Y tenian razon me faltaban las referencias a las unidades (Uses ComObj, Excel2000), para que me funcionen las parametros.

Aun no pruebo la manera de visualizar que sugerio Blue
Gracias a todos por la ayuda
__________________
tu mente es tu mas presiado tesoro, cultiva tu conocimiento
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
imagen en una celda determinada de excel richy08 Servers 0 29-10-2007 23:45:43
Formato moneda en celda Excel miquellg Servers 2 05-06-2007 22:13:08
Buscar y/o reemplazar una celda en Excel... fcios Servers 2 14-12-2005 16:33:27
celda excel Alejandro Horns Tablas planas 1 29-07-2005 09:19:29
Delphi a Excel: Celda Activa ainclanmx Servers 3 29-03-2005 17:10:45


La franja horaria es GMT +2. Ahora son las 19:54:19.


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