Cuando utilizamos la funcion "getDataArray()" o "DataArray()" sobre un rango de celdas para almacenar automaticamente los valores de un rango de celdas en un Array, OOOBasic de libreOffice almacena los datos en un array pero al acceder a ellos debemos poner un parentesis para la fila y otro parentesis para la columna (es decir dos parentesis) como en el ejemplo aqui abajo:
Código: Seleccionar todo
'*** Opcion 1 ***
MsgBox valuesTable(0)(1)
Código: Seleccionar todo
'*** Opcion 2 ***
valuesTable(0,0) = 1
valuesTable(0,1) = "Jose Luis"
valuesTable(0,2) = "Madrid"
valuesTable(1,0) = 2
valuesTable(1,1) = "Maria"
valuesTable(1,2) = "Valencia"
o... ¿la única manera es convertir o transformar el array automatico (de dos parentesis valuesTable(0)(1) OPCION 1) pasándolo por un bucle FOR TO ...NEXT para convertirlo en un array manual de un solo parentesis valuesTable(0,1) (OPCION 2)? (Hice una Función con for to next para ello. Esta al final).
Adjunto fotos y un archivo donde se puede ver lo que digo por si quereis ver como carga la tabla en un array de forma automatica y como extraemos informacion de un array bidimensional o multidimensional con la función DataArray() a otro array de dos dimensiones con dos parentesis, es decir, valuesTable(0)(1).
Mi problema es que al manipular arrays, luego necesito buscar informacion con ellos y si el array tiene dos parentesis se accede a la informacion de una manera determinada y si el array tiene un parenteis se lee de otra manera, con lo que siempre tengo problemas y quisiera que todos los arrays fueran iguales. No se si existe alguna funcion simple para transformar o convertir todos los arrays iguales y que no fuera transformar el array en un bucle FOR TO ... NEXT. Asi que al final veras la SOLUCION para hacerlo SIEMPRE con un array de DOS parentesis ()(), que es la forma habitual con que OOOBasic carga los arrays automaticos con DataArray() y así evitamos el bucle for to next para convertir arrays. No obstante, dejo una función para convertir un array de dos parentesis ()() a un array de un parentesis (,) para poner en ellos el indice de la fila y la columna.
GRACIAS.