No entiendo la relación, el método insertNewByName, hasta ahora, no he
encontrado problemas, el problema tratado en el hilo de correos es el metodo
moveByName

Saludos

Mauricio


El 7 de agosto de 2008 13:33, Alexandro Colorado <[EMAIL PROTECTED]>escribió:

> tengo un codigo que hace esta generacion ciclica de hojas de calculo.
>
> http://www.slideshare.net/jza/programacion-de-bases-de-datos-en-ooobasic/
>
> en la diapositiva 9
>
> While Result.next()
>    oDoc.getSheets().insertNewByName(x,1)
>    oSheets(1).getCellbyPosition(2,2).SetString(Result.getString(z))
> Wend oCon.close()
>
>
>
> On Thu, 07 Aug 2008 12:58:57 -0500, Mauricio Baeza <
> [EMAIL PROTECTED]> wrote:
>
>  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]
>>>
>>>
>>>
>>
>>
>
>
> --
> Alexandro Colorado
> CoLeader of OpenOffice.org ES
> http://es.openoffice.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
_______________________________
Todo lo que no es dado es perdido

Responder a