Insertar Hoja en libro Excel

Insertar Hoja en libro Excel

Postby juanjogascem » Thu Mar 31, 2022 6: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
juanjogascem
 
Posts: 97
Joined: Wed May 31, 2006 8:49 am

Re: Insertar Hoja en libro Excel

Postby Sebastián Almirón » Thu Mar 31, 2022 8: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
User avatar
Sebastián Almirón
 
Posts: 155
Joined: Mon Dec 12, 2005 9:56 am
Location: Moralzarzal - Spain

Re: Insertar Hoja en libro Excel

Postby juanjogascem » 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
juanjogascem
 
Posts: 97
Joined: Wed May 31, 2006 8:49 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 77 guests