Veamos... Creo una hoja nueva que tienes tres hojas
A) Hoja1(0), Hoja2(1) y Hoja3(2) Los números entre parentesis son sus indices, es decir, la posición que se maneja desde OOo Basic, ejectuamos las ordenes en el orden que dices, primero, intentamos mover a la posicion 4, ojo, que no existe ThisComponent.getSheets().moveByName( "Hoja1", 4 ) Con lo que resulta B) Hoja2(0) Hoja3(1) Hoja3_2(2) Hoja1(3) Como veras, movio la "Hoja1" a la posicion 3, pero inserto una copia de la "Hoja3" como "Hoja3_2", lo cual no me parece correcto, despues dices... ThisComponent.getSheets().moveByName( "Hoja1", 2 ) Y nos quedan las hojas correctamente C) Hoja2(0) Hoja3(1) Hoja1(2) Hoja3_2(3) Luego: ThisComponent.getSheets().moveByName( "Hoja1", 1 ) E) Hoja2(0) Hoja1(1) Hoja3(2) Hoja3_2(3) Depues ThisComponent.getSheets().moveByName( "Hoja1", 0 ) F) Hoja1(0) Hoja2(1) Hoja3(2) Hoja3_2(3) Luego, de nuevo a la posicion 4, ojo, esta posicion sigue sin existir ThisComponent.getSheets().moveByName( "Hoja1", 4 ) G) Hoja2(0) Hoja3(1) Hoja3_2(2) Hoja1(3) Simplemente la mueve al final, que es lo menos que esperaria cuando se le pasa una posicion que no exista, por ultimo, hacemos.. ThisComponent.getSheets().moveByName( "Hoja1", 1 ) Que deja las hojas H) Hoja2(0) Hoja1(1) Hoja3(2) Hoja3_2(3) Resumiendo A) Correcto B) Incorrecto, crea una hoja que no pedimos y posicion al final las hojas C) Correcto D) Correcto E) Correcto F) Correcto G) Incorrecto/correcto, es decir, no mueve a la posicion que queriamos, por que no existe, pero me parece correcto que por lo menos te la deje al final y no te provoque un error, por supuesto, esto pasa por que ya no tenemos las 3 hojas iniciales, sino 4, con la que se creo en el paso B H) Correcto Como podemos observar, las unicas inconsistencias se suceden cuando queremos mover una hoja existente a una posición inexistente, en todas mis pruebas a resultado que: Si Posicion es mayor al número de hojas, la aplicación falla, en una de tantas pruebas el archivo me lo recupero solo con las insertadas, por lo que especulo que al insertar las nuevas hojas es donde falla, de hecho, creo que esto no" deberia" de hacerlo Si Posicion es igual o menor al número de hojas, lo hace correctamente, de ahí la importancia de validar siempre que Posicion sea menor o igual al número de hojas If Posicion <= oHojas.getCount() Then Tal vez te estes confundiendo con la posicion visual y la posicion interna (index), este, siempre empieza en cero... Saludos Mauricio El 7 de agosto de 2008 1:31, francisco f. <[EMAIL PROTECTED]> escribió: > El Miércoles, 6 de Agosto de 2008 20:57, Mauricio Baeza escribió: > > Hola... > > > > No entiendo cuando dices que a vece empieza en 0 y a veces en 1, eso no > he > > podido reproducirlo, > > > > tienes alguna linea de codigo para comprobarlo? > > > > Gracias y saludos > > > > Mauricio > En una hoja nueva ejecutas la orden esta dichosa > ThisComponent.getSheets().moveByName( "Hoja1", 4 ) > te pasa la hoja 1 a la posicion cuatro, cuando deberia ser la 5 ya que se > empieza desde 0 > cambias la posicion a la 2 > ThisComponent.getSheets().moveByName( "Hoja1", 2 ) > te pasa la hoja a la posicion 2 cuando deberia ser la 3 > luego pasas la hoja a 1 > ThisComponent.getSheets().moveByName( "Hoja1", 1 ) > y pasa la hoja al principio > > si luego haces posicion 0 > ThisComponent.getSheets().moveByName( "Hoja1", 0 ) > deja la hoja como esta > luego pones > ThisComponent.getSheets().moveByName( "Hoja1", 4 ) > la pasa a posicion 4, que seria internamente la 3 > y si ya pones otra vez a posicion 1 > ThisComponent.getSheets().moveByName( "Hoja1", 1 ) > te deja la hoja en posicion 2 > > si te das cuenta, despues de todo este lio > que con la misma orden de mover a posicion 1 > te deja la hoja en dos posiciones distintas. > > Con lo cual la numeracion ¿empieza en o ó en 1? > Fallar seguro que falla > > > acabo de releer lo que he escrito y casi no me entero de lo que pone. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- _______________________________ Todo lo que no es dado es perdido
