Jump to content


Photo

[RESUELTO] Agregar una hoja en Excel al final de las hojas


  • Please log in to reply
3 replies to this topic

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 20 September 2010 - 01:45 PM

Hola

Estoy creando una clase para interactuar con el componente TExcelApplication y necesito saber que parámetro se requiere para agregar una hoja y enviarla al final ya que con lo que estoy haciendo la crea al inicio.

Hoja4, Hoja1, Hoja2, Hoja3



delphi
  1. // Count = Cuantas hojas quiero agregar
  2. procedure Tbd2xl.New_Sheet(const Count: integer);
  3. begin
  4.   FXLApp.Sheets.Add(EmptyParam,EmptyParam,Count,EmptyParam,FLCID);
  5.   //FXLApp.Sheets.Add(EmptyParam,3,Count,EmptyParam,FLCID); After indice 3
  6.   //FXLApp.Sheets.Add(EmptyParam,'Hoja3',Count,EmptyParam,FLCID); After 'Hoja3'
  7. end;



Los dos primeros parámetros son Before and After, he intentado colocar el número de indice (3) o el nombre de la hoja ('Hoja3') pero en ambas produce un bello error OLE.

Lo que quiero es que la agregue al final del libro y no al inicio como lo está haciendo.

Hoja1, Hoja2, Hoja3, Hoja4

Salud OS
  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 20 September 2010 - 01:56 PM

Hola
Nunca lo he hecho, pero si el count es integer, no lo estas repitiendo?.


delphi
  1. procedure Tbd2xl.New_Sheet(const Count: integer);
  2. begin
  3. FXLApp.Sheets.Add(EmptyParam,EmptyParam,3,EmptyParam,FLCID);
  4. end;


Otra cosa seria darle el valor a count antes en un ciclo wile.
No se, digo....
Saludos
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 20 September 2010 - 02:05 PM

Hola
Nunca lo he hecho, pero si el count es integer, no lo estas repitiendo?.

Otra cosa seria darle el valor a count antes en un ciclo wile.
No se, digo....
Saludos


El Count como lo mencioné, es la cantidad de hojas que quiero agregar, en este caso solo es 1, pero pueden ser mas de una y las coloca al inicio y no al final, lo que necesito es que las agregue al final.

Salud OS
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 20 September 2010 - 07:19 PM

Hola

Después de comer y un descanso obligado, encontré la solución a mi problema. Se los documento para futuras consultas.



delphi
  1. procedure Tbd2xl.New_Sheet(const Count: integer);
  2. begin
  3.   // Sheets.Add(Before: OLEVariant, After: OLEVariant, Count: OLEVariant, LCID: OLEVariant)
  4.   FXLApp.Sheets.Add(EmptyParam, FXLApp.Sheets[FXLApp.Sheets.Count], Count, EmptyParam, FLCID);
  5. end;



  • Agregamos las hojas que se desean en la variable Count
  • Movemos la hoja al final con la función FXLApp.Sheets[FXLApp.Sheets.Count]

Resultado:

Hoja1, Hoja2, Hoja3, Hoja4

Salud OS
  • 0




IP.Board spam blocked by CleanTalk.