Saludos Eduardo. --- El jue, 6/11/08, Eduardo Moreno <[EMAIL PROTECTED]> escribió:
> De: Eduardo Moreno <[EMAIL PROTECTED]> > Asunto: Re: [d_es] Problemas con calculos y macro > Para: [email protected] > Fecha: jueves, 6 noviembre, 2008 10:32 > Hasta donde yo entiendo, la configuración no tiene nada que > ver con la forma en que metes el código. > > Si tu configuración es España (Coma decimal) y guardas el > número 2,33 y abres ese archivo en un sistema configurado > para México (Punto decimal), aparece 2.33. > > Ahora, lo que to entiendo que sucede es que estas > capturando con coma decimal dentro de una configuración que > usa punto decimal, es decir, no estas capturando números, > sino texto. > > Código que se me ocurre: > > Option Explicit > > Function MeteNumero(eColumna As Integer, eFila As Integer) > Dim oHoja, Celda As Object > > oHoja = > ThisComponent.getCurrentController.getActiveSheet() > oCelda = oHoja.getCellByP0sition(eColumna, eFila) > 'En caso de que el contenido de la celda no sea un > numero, > 'mandamos un mensaje de error. > Select Case oCelda.Type > Case com.sun.star.table.CellContentType.EMPTY > MsgBox "La celda esta vacía" > Case com.sun.star.table.CellContentType.TEXT > MsgBox "Debe escribir un numero" > Case com.sun.star.table.CellContentType.FORMULA > MsgBox "La celda ccntiene una fórmula, > escriba un numero" > Case com.sun.star.table.CellContentType.VALUE > tufuncion() > End Select > End Sub > > Alejandro Rivas Morán escribió: > > Saludos. > > > > TEngo una macro que captura tres numeros y calcula > porcentajes para cada uno. Luego los suma y el total se > inserta en una celda. > > El problema consiste en la configuración regional. Si > usa , -coma- decimal, el total en la celda sale sin puntos > -Numero Entero-; pero si usa . -punto- todo sale bien. > > > > > > He logrado agregar un código así: inserto un número > decimal como 2.55 y lo recupero de nuevo -como cadena > GetString()-. Le localizo la coma y si la tiene suspende la > macro -por ahora- (aqui quiero poner código para corregir > la configuracion); y si no la tiene entonces sigue el > proceso. > > > > > > Soluciono el problema cambiando la configuracion > regional del OpenOffice en > Herramientas>Opciones>Configuracion de > idioma>idiomas> Ahi cambio a: > > [Interfaz de usuario] Español > > [Esquema local] Español El Salvador > > [Moneda predeterminada] USD $ Estados Unidos. > > > > Ahora bien, la reducida experiencia no me deja crear > un código para adjuntarlo y que corrija por medio de la > macro la falla de la configuración . He buscado algunas > informaciones pero no encuentro salida. POr ejemplo, hallé > algo en > http://api.openoffice.org/docs/common/ref/com/sun/star/lang/Locale.html > pero no se como estructurarlo para meter esos cambios > > La situación es que van en un archivo que se da a > muchas personas. Ellas los llevan a casa, realizan los > llenados y lo devuelven. Cada usuario a instalado el > OpenOffice 2.x en su equipo. > > > > Espero me colaboren con el código para hacer la > correccion a la configuracion regional por macro. > > Gracias anticipadas > > > > La situacion es asi: 1.- ingreso por ejemplo 5 y luego se calcula el 25% que sería 5x0.25 2.- el resultado que se muestra es 1,25 3.- cuando se inserta en la celda no aparece como 1.25 ni 1,25 sino 125 Cuando se hace con la configuracion regional Español(El Salvador) como se detalla párrafos abajo, entonces es asi: 1.- ingreso por ejemplo 5 y luego se calcula el 25% que sería 5x0.25 2.- el resultado que se muestra es 1.25 3.- cuando se inserta en la celda aparece como 1.25 y en la celda también como 1.25 Entonces asumo que es la confiración regional. Incluso este comportamiento no tiene relación según lo he experimientado, con la configuración regional del sistema operativo. CUal es mi problema? . Hay mas de 100 OpenOffices instalados en las casas de los usuarios y en varios casos que lo han instalado nuevamente, el Open queda con prederterminados que son los que necesito cambiar por medio de un código de macro que permita cambiar las propiedades de: Herramientas>Opciones>Configuracion de idioma>idiomas> y cambiar las a : [Interfaz de usuario] Español [Esquema local] Español El Salvador [Moneda predeterminada] USD $ Estados Unidos. ------------------ Lo que mencionaba del GetString() solo es parte del experimento para ver cómo realmente es el dato insertado en la celda. ----------------- Nuevamente gracias y espero ayuda. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
