FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Insertar Hoja en libro Excel
Posts: 103
Joined: Wed May 31, 2006 08:49 AM
Insertar Hoja en libro Excel
Posted: Thu Mar 31, 2022 06:45 AM

Muy buenas, estoy insertando hojas en un libro de excel pero se crean en la posicion de la hoja activa y me desplaza esta a la ultima posicion
Hoja1, Hoja2, Hoja6, Hoja5, Hoja4, Hoja3
Existe alguna forma de que las hojas se a帽adan al final?
como Sheets.Add After

el codigo que utilizo es:

  oExcel        := ExcelObj()
  //  Inicio
  If oExcel == nil
    MsgInfo( "Excel no est谩 instalado", "Informe" )
    RETURN(.F.)
  Endif

  oExcel := TOleAuto():New("Excel.Application")
  oExcel:WorkBooks:Add()
  oExcel:sheets("Hoja3"):Select()
  oHoja:=oExcel:ActiveSheet()
  oExcel:sheets:Add()

Saludos
Juan Jose

Posts: 166
Joined: Mon Dec 12, 2005 09:56 AM
Re: Insertar Hoja en libro Excel
Posted: Thu Mar 31, 2022 08:50 AM

No no he probado, pero supongo que antes del oExcel:sheets:Add() debes posicionarte en la 煤ltima hoja, algo as铆:

nultima := oExcel:Workbooks:Sheets:Count()
oExcel:Sheets:Item(nultima):Select()
oExcel:sheets:Add()

o tambi茅n puedes despu茅s del oExcel:sheets:Add() moverla a la ultima posici贸n:
oExcel:sheets:Add()
oHoja := oExcel:ActiveSheet()
oHoja:Move(,oExcel:Workbooks:Sheets:Count()) //Ojo debe ser el segundo par谩metro de Move

Posts: 103
Joined: Wed May 31, 2006 08:49 AM
Re: Insertar Hoja en libro Excel
Posted: Thu Mar 31, 2022 10:32 AM

Sebasti谩n, gracias por contestar

La primera opci贸n que me das es la que estoy utilizando, y la hoja se crea en la posici贸n de la hoja activa, desplazando esta a la derecha.

La segunda opci贸n me da error y no la puedo poner en marcha

Encontr茅 por el foro la siguiente instrucci贸n

oBook := oExcel:ActiveWorkbook:Sheets:Add( oExcel:ActiveWorkbook:Worksheets( oExcel:ActiveWorkbook:Worksheets:Count() ) )

Pero act煤a como el primer caso

Continue the discussion