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

Responder a