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 24-03-2004
niogon niogon is offline
Miembro
 
Registrado: oct 2003
Posts: 25
Poder: 0
niogon Va por buen camino
Wink Puntual

Para ser sincero no he seguido mucho el hilo, pero creo entender que ocurre haci que te mando la linea como deveria ser

para los componentes office xp en delphi 7

{TExcelWorkBook} wkbExcel.SaveAs('c:\datos\uno.xls', Null, Null, Null, False, False, xlNoChange, xlUserResolution, False, Null, Null, 0, lcid);

para los componentes office 2000 en delphi 7

{TExcelWorkBook} wkbExcel.SaveAs('c:\datos\uno.xls, Null, Null, Null, False, False, xlNoChange, xlUserResolution, False, Null, Null, lcid);
Responder Con Cita
  #2  
Antiguo 05-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Salu2 quisiera saber si me pueden ayudar con mi código....

Código Delphi [-]
procedure TForm14.Button1Click(Sender: TObject);
var
  Libro : _WORKBOOK;
  Hoja  : _WORKSHEET;
  i:Integer;
begin
i:=0;
Libro := ExcelApplication1.Workbooks.Add(Null, 0);
Hoja  := Libro.Sheets[1] as _WORKSHEET;
  with Query1 do
    begin
    first;
      while not EOF Do
        begin
        i:=i+1;
        Hoja.Cells.Item[i,1]:=DBGrid1.Fields[0].AsString;
        Hoja.Cells.Item[i,2]:=DBGrid1.Fields[1].AsString;
        Hoja.Cells.Item[i,3]:=DBGrid1.Fields[2].AsString;
        Hoja.Cells.Item[i,4]:=DBGrid1.Fields[3].AsString;
        Hoja.Cells.Item[i,5]:=DBGrid1.Fields[4].AsString;
        Hoja.Cells.Item[i,6]:=DBGrid1.Fields[5].AsString;
        Hoja.Cells.Item[i,7]:=DBGrid1.Fields[6].AsString;
        Hoja.Cells.Item[i,8]:=DBGrid1.Fields[7].AsString;
        Hoja.Cells.Item[i,9]:=DBGrid1.Fields[8].AsString;
        Hoja.Cells.Item[i,10]:=DBGrid1.Fields[9].AsString;
        Next;
   end;//while
end;//with
end;

he desarrollado este código siguiendo este hilo, no da error pero no abre excel ni muestra lo que debe....

gracias adelantadas
__________________
Las cosas o son, o no son...
Responder Con Cita
  #3  
Antiguo 10-12-2008
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 21
nuk3zito Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
Salu2 quisiera saber si me pueden ayudar con mi código....

Código Delphi [-]
procedure TForm14.Button1Click(Sender: TObject);
var
  Libro : _WORKBOOK;
  Hoja  : _WORKSHEET;
  i:Integer;
begin
i:=0;
Libro := ExcelApplication1.Workbooks.Add(Null, 0);
Hoja  := Libro.Sheets[1] as _WORKSHEET;
  with Query1 do
    begin
    first;
      while not EOF Do
        begin
        i:=i+1;
        Hoja.Cells.Item[i,1]:=DBGrid1.Fields[0].AsString;
        Hoja.Cells.Item[i,2]:=DBGrid1.Fields[1].AsString;
        Hoja.Cells.Item[i,3]:=DBGrid1.Fields[2].AsString;
        Hoja.Cells.Item[i,4]:=DBGrid1.Fields[3].AsString;
        Hoja.Cells.Item[i,5]:=DBGrid1.Fields[4].AsString;
        Hoja.Cells.Item[i,6]:=DBGrid1.Fields[5].AsString;
        Hoja.Cells.Item[i,7]:=DBGrid1.Fields[6].AsString;
        Hoja.Cells.Item[i,8]:=DBGrid1.Fields[7].AsString;
        Hoja.Cells.Item[i,9]:=DBGrid1.Fields[8].AsString;
        Hoja.Cells.Item[i,10]:=DBGrid1.Fields[9].AsString;
        Next;
   end;//while
end;//with
end;

he desarrollado este código siguiendo este hilo, no da error pero no abre excel ni muestra lo que debe....

gracias adelantadas
¿ya probaste con
Código Delphi [-]
ExcelApplication1.Visible[0] := true;
?

(En este hilo también se menciona)
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita
  #4  
Antiguo 22-04-2009
fsolispa fsolispa is offline
Miembro
 
Registrado: sep 2008
Posts: 28
Poder: 0
fsolispa Va por buen camino
Cita:
Empezado por nuk3zito Ver Mensaje
¿ya probaste con

Código Delphi [-]
ExcelApplication1.Visible[0] := true;



?

(En este hilo también se menciona)
Una pregunta hay forma de poder poner información en una hoja ya existente, ya que en los ejemplos solo he visto para crear una nueva hoja pero no como insertar información en una ya existente alguien podria ayudarme
Responder Con Cita
  #5  
Antiguo 22-04-2009
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 21
nuk3zito Va por buen camino
Cita:
Empezado por fsolispa Ver Mensaje
Una pregunta hay forma de poder poner información en una hoja ya existente, ya que en los ejemplos solo he visto para crear una nueva hoja pero no como insertar información en una ya existente alguien podria ayudarme
Es algo así...

Código Delphi [-]
var
  Excel, Libro, xlSheet: Variant;

Código Delphi [-]
  try
     Excel := GetActiveOleObject('Excel.Application');
  except
     Excel := CreateOleObject('Excel.Application');
  end;

Código Delphi [-]
  if bGenerarArchivo then
     begin
        Libro:= Excel.WorkBooks.Add(xlWBATWorksheet);
        xlSheet:= Excel.WorkBooks[1].Sheets[1];
        xlSheet.Name:= sSheetName;
     end
  else
     begin
        Libro:= Excel.Workbooks.Open(sArchivo);
        xlSheet:= Libro.Worksheets.Item[sSheetName];
     end;

Donde bGenerarArchivo es una variable booleana que indica si el archivo se crea o se abre; sArchivo es una variable string con la ruta y nombre del archivo; y sSheetName es el nombre de la hoja a donde vas a escribir.

Toma en cuenta que este ejemplo es sin usar TExcelApplication (por eso puse el codigo con el que se crea el objeto), así que usándolo debe ser algo muy parecido.

Saludos.
__________________
Tiempo y ocasión acontecen a todos!

Última edición por nuk3zito fecha: 22-04-2009 a las 04:14:35.
Responder Con Cita
  #6  
Antiguo 22-04-2009
fsolispa fsolispa is offline
Miembro
 
Registrado: sep 2008
Posts: 28
Poder: 0
fsolispa Va por buen camino
Cita:
Empezado por nuk3zito Ver Mensaje
Es algo así...


Código Delphi [-]
var
Excel, Libro, xlSheet: Variant;






Código Delphi [-]
try
Excel := GetActiveOleObject('Excel.Application');
except
Excel := CreateOleObject('Excel.Application');
end;






Código Delphi [-]
if bGenerarArchivo then
begin
Libro:= Excel.WorkBooks.Add(xlWBATWorksheet);
xlSheet:= Excel.WorkBooks[1].Sheets[1];
xlSheet.Name:= sSheetName;
end
else
begin
Libro:= Excel.Workbooks.Open(sArchivo);
xlSheet:= Libro.Worksheets.Item[sSheetName];
end;





Donde bGenerarArchivo es una variable booleana que indica si el archivo se crea o se abre; sArchivo es una variable string con la ruta y nombre del archivo; y sSheetName es el nombre de la hoja a donde vas a escribir.

Toma en cuenta que este ejemplo es sin usar TExcelApplication (por eso puse el codigo con el que se crea el objeto), así que usándolo debe ser algo muy parecido.

Saludos.
Muchas gracias.
Responder Con Cita
  #7  
Antiguo 22-04-2009
fsolispa fsolispa is offline
Miembro
 
Registrado: sep 2008
Posts: 28
Poder: 0
fsolispa Va por buen camino
Cita:
Empezado por fsolispa Ver Mensaje
Muchas gracias.
Ya realice las modificaciones necesarias de acuerdo a la información que me diste y trabaja super bien, no utilice el comando

Try
Excel := GetActiveOleObject('Excel.Application')
Except
Excel := CreateOleObject('Excel.Application')
End;

ya que me daba error al leer, entonces lo solo cree, como no creare un nuevo archivo de excel solo utilice los comandos necesarios que fueron

Libro := Excel.WorkBooks.Open(sArchivo);
xlSheet := Libro.WorkSheets.Item[sShetName);

Dentro de un if para determinar la hoja de excel en la que se guardará la información y un while para llenarla el programa quedo así

procedure TGeneraListasFrm.SpeedButton2Click(Sender: TObject);
Var
Excel, Libro, Hoja : Variant;
i : integer;
begin
i := 7;
Excel := CreateOleObject('Excel.Application');
Libro := Excel.WorkBooks.Open('E:\Mis Documentos\feb08.xls');
if ModuloDatosFrm.ZListaQrycgrado.Value = 'PREP01' then
Begin
Hoja := Libro.WorkSheets.Item[6];
With ModuloDatosFrm.ZListaQry Do
Begin
First;
while not EOF do
Begin
i := i + 1;
Hoja.Cells.Item[i,1] := DbGrid1.Fields[0].AsString;
Next;
End;
End;
Excel.Visible := True;
End
Else if ModuloDatosFrm.ZListaQrycgrado.Value = 'PREP02' then
Begin
Hoja := Libro.WorkSheets.Item[7];
With ModuloDatosFrm.ZListaQry Do

bueno y continua hasta 'PREP06'
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 13:41:46.


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