EasyDev v2.7.2 [24-Abr-16]
Re: EasyDev v2.3.0 [27-Nov-15]
Bueno, ya hemos dado otro pasito más. Ahora en la última instrucción sigue poniendo la "u". Mira la imagen.
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: EasyDev v2.3.0 [27-Nov-15]
¿No te gustan las Us?...
Es normal, el msgbox de EasyDev es para depurar y siempre convierte lo que sea a string... prueba:
Saludos
Es normal, el msgbox de EasyDev es para depurar y siempre convierte lo que sea a string... prueba:
Código: Seleccionar todo
MsgBox(util.getInfoPC()(0))
MsgBox(util.getInfoPC()(1))
MsgBox(util.getInfoPC()(2))
MsgBox(util.getInfoPC()(3))
MsgBox(util.getInfoPC()(4))
MsgBox(util.getInfoPC()(5))
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
Así, sí lo muestra bien.
Continuare...... me llaman a cenar.
Continuare...... me llaman a cenar.
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenas noches Mauricio:
En una ocasión (https://forum.openoffice.org/es/forum/v ... 377#p50360) comentamos el sistema de codificación de colores.
En https://forum.openoffice.org/es/forum/v ... 367#p50361, facilitaste un código para definir el color como RGB. He hecho correr el código y entrando en la ventana "Observador". He visto que el color lo pasa a un código numérico único, con el formato AOO. Supongo que será el mismo. En cualquier caso he encontrado la relación entre este código y el formato RGB. Puede ser que haya descubierto la pólvora.
Esta relación es, que funciona como un sistema de numeración en base 256. Si en un formato RGB denominamos R al primer valor, G al segundo y B al tercero, El formato AOO se obtiene como AOO= R*253^2 + G*256 + B.
En sentido inverso, los valores de R, G y B se pueden obtener a partir de AOO de la siguiente forma:
Comentamos también los próximos desarrollos. Te planto las necesidades, que no son pocas. Trataré de dar una lista intentando asignar prioridades:
Muchas gracias por todo y un saludo
En una ocasión (https://forum.openoffice.org/es/forum/v ... 377#p50360) comentamos el sistema de codificación de colores.
En https://forum.openoffice.org/es/forum/v ... 367#p50361, facilitaste un código para definir el color como RGB. He hecho correr el código y entrando en la ventana "Observador". He visto que el color lo pasa a un código numérico único, con el formato AOO. Supongo que será el mismo. En cualquier caso he encontrado la relación entre este código y el formato RGB. Puede ser que haya descubierto la pólvora.
Esta relación es, que funciona como un sistema de numeración en base 256. Si en un formato RGB denominamos R al primer valor, G al segundo y B al tercero, El formato AOO se obtiene como AOO= R*253^2 + G*256 + B.
En sentido inverso, los valores de R, G y B se pueden obtener a partir de AOO de la siguiente forma:
- B=RESIDUO(AOO;256)
- G=RESIDUO((AOO-B)/256;256)
- R=INT(AOO/POTENCIA(256;2))
Comentamos también los próximos desarrollos. Te planto las necesidades, que no son pocas. Trataré de dar una lista intentando asignar prioridades:
- Prioridad 1: en una serie asignar eje Y principal/Secundario
- Prioridad 2: Leyenda: Posición y formato
- Prioridad 3: Título: Texto y formato
- Prioridad 4: Ejes: Límites inferior y superior de la escala
- Prioridad 5: Ejes: Nombre: Texto y formato
- Prioridad 6: Ejes: Formato del número
Muchas gracias por todo y un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
Hola...
Para que yo pueda darme tiempo a desarrollar, es "casi" necesario que no me dejen nada a la imaginación. En la medida de lo posible, casi casi tendrían que dar la receta completa, en un archivo de ejemplo, con código Basic cuando sea posible, de este modo avanzaremos mucho mejor.
También, es muy importante instalar y aprender a usar MRI: http://extensions.services.openoffice.o ... ction-tool
http://easydev.readthedocs.org/en/lates ... l#call-mri
y aprender a depurar: http://easydev.readthedocs.org/en/latest/debug.html
tendremos muchos mejores resultados...
Para los colores, en Python obtengo el entero correspondiente con:
Para asignar la serie al eje primario o secundario usas:
AttachedAxisIndex == 1 sería el secundario
Te mande la lista de propiedades de las series en el otro tema que abriste de los gráficos. Junto con MRI puedes ir probando las propiedades que ya se pueden aplicar directamente.
Saludos
Para que yo pueda darme tiempo a desarrollar, es "casi" necesario que no me dejen nada a la imaginación. En la medida de lo posible, casi casi tendrían que dar la receta completa, en un archivo de ejemplo, con código Basic cuando sea posible, de este modo avanzaremos mucho mejor.
También, es muy importante instalar y aprender a usar MRI: http://extensions.services.openoffice.o ... ction-tool
http://easydev.readthedocs.org/en/lates ... l#call-mri
y aprender a depurar: http://easydev.readthedocs.org/en/latest/debug.html
tendremos muchos mejores resultados...
Para los colores, en Python obtengo el entero correspondiente con:
Código: Seleccionar todo
def rgb(r, g, b):
return int('%02x%02x%02x' % (r, g, b), 16)
Código: Seleccionar todo
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 1) _
)
Te mande la lista de propiedades de las series en el otro tema que abriste de los gráficos. Junto con MRI puedes ir probando las propiedades que ya se pueden aplicar directamente.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
Fue mucho más fácil de lo que pense, todo esta, en acceder al elemento correcto y darle formato... y eso es todo...
Con la siguiente macro:
Obtenemos:
La mayor parte de las opciones ya las he documentado en mi libro, así que no lo haré de nuevo:
https://wiki.openoffice.org/wiki/ES/Man ... candoDatos
Y el formato de los objetos:
https://wiki.openoffice.org/wiki/ES/Man ... osGraficos
Esto esta implementado en EasyDev v2.4: https://github.com/UniversoLibreMexicoA ... elop/files
Saludos
Con la siguiente macro:
Código: Seleccionar todo
Sub GraficandoRangos()
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 1
address.EndCol = 0
address.EndRow = 8
rango_X = util.getRange(address)
address.Col = 1
address.EndCol = 1
rango_Y = util.getRange(address)
address.Col = 1
address.Row = 0
title_1 = util.getCell(address)
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
)
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,255,0)), _
)
series(1).X = "Hoja1.C2:C9"
series(1).Y = "Hoja1.D2:D9"
series(1).Title = "Hoja1.D1"
series(1).Properties = properties
pos_size.X = 0
pos_size.Y = 5000
pos_size.Width = 12000
pos_size.Height = 7000
data.Doc = doc
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
properties = Array( _
Array("Title", "Canal Chalco"), _
Array("HasLegend", True), _
)
data.Properties = properties
chart = util.chartAdd(data)
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 3), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
util.imageFormat(legend, properties)
axis = chart.getDiagram().getXAxis()
axis.Min = -1
axis.Max = 10
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -1), _
Array("Max", 7), _
)
util.imageFormat(axis, properties)
End Sub
https://wiki.openoffice.org/wiki/ES/Man ... candoDatos
Y el formato de los objetos:
https://wiki.openoffice.org/wiki/ES/Man ... osGraficos
Esto esta implementado en EasyDev v2.4: https://github.com/UniversoLibreMexicoA ... elop/files
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenos días Mauricio:
He probado la asignación de un eje secundario a una serie y ha funcionado a medias. Mi intención esta probar todas las opciones antes de informarte, pero ha ocurrido una pequeña catástrofe y estoy atascado.
Intentando resolver algún problema que surgía con el eje secundario he pensado que podría ser porque mi versión de EasyDev 2.3 era previa a la última acutalización. He bajado la última, he intentado instalarla pero no hay manera. Además ahora no consigo cargar ninguna de las versiones.
He desinstalado -eso creía- la versión 2.3. Al instalar la nueva, me dice que ya está instalada, si la quiero actualizar. le digo que si pero no lo hace. Me dice: "Rejecting types due to incompatibility! [org.universolibre.EasyDev.XTools, menbers] Different number of types!"
He intentando desactivando, eliminando. Cuando lo elimino, desaparece, pero al intentar instalar pero lo detecta como actualizacion de una extensión ya instalada. Después se ve como desactivado.
He intentado instalar a partir de archivo, las versiones 2.2, 2.3 y 2.4. En todos los casos con el mismo resultado.
Total, que estoy bloqueado.
Un saludo
He probado la asignación de un eje secundario a una serie y ha funcionado a medias. Mi intención esta probar todas las opciones antes de informarte, pero ha ocurrido una pequeña catástrofe y estoy atascado.
Intentando resolver algún problema que surgía con el eje secundario he pensado que podría ser porque mi versión de EasyDev 2.3 era previa a la última acutalización. He bajado la última, he intentado instalarla pero no hay manera. Además ahora no consigo cargar ninguna de las versiones.
He desinstalado -eso creía- la versión 2.3. Al instalar la nueva, me dice que ya está instalada, si la quiero actualizar. le digo que si pero no lo hace. Me dice: "Rejecting types due to incompatibility! [org.universolibre.EasyDev.XTools, menbers] Different number of types!"
He intentando desactivando, eliminando. Cuando lo elimino, desaparece, pero al intentar instalar pero lo detecta como actualizacion de una extensión ya instalada. Después se ve como desactivado.
He intentado instalar a partir de archivo, las versiones 2.2, 2.3 y 2.4. En todos los casos con el mismo resultado.
Total, que estoy bloqueado.
Un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
Dado que estamos agregando nuevas funcionalidades, siempre es necesario para actualizar, primero eliminar la anterior, reiniciar LibreOffice, e instalar la nueva, con este proceso no tendrán problemas...
para arreglar cualquier problema de este tipo, si NO tienen nada especial en su perfil de usuarios, solo reinicienlo, si tienen alguna configuración especial, solo borren las carpetas de cualquier versión de EasyDev, eso es todo.
para arreglar cualquier problema de este tipo, si NO tienen nada especial en su perfil de usuarios, solo reinicienlo, si tienen alguna configuración especial, solo borren las carpetas de cualquier versión de EasyDev, eso es todo.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
¿A que te refieres con Reiniciar?
He eliminado la extensión he cerrado, apagado el ordenador, vuelta a encender, entro en libre Office Extensiones, añadir, y da el mismo problema
Un saludo
He eliminado la extensión he cerrado, apagado el ordenador, vuelta a encender, entro en libre Office Extensiones, añadir, y da el mismo problema
Un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
https://forum.openoffice.org/es/forum/v ... 1082#p3263
Otra forma de evitar problemas es forzar a sobreescribir la extensión:
No se si este paquete este en Windows, si esta, un sencillo BAT les resuelve el problema...
Otra forma de evitar problemas es forzar a sobreescribir la extensión:
Código: Seleccionar todo
unopkg add -v -f -s path_oxt
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenas noches:
Generando un usuario nuevo me ha dejado cargar de nuevo la EasyDev.
Sustituyendo sucesivamente las diferentes carpetas, he podido saber que el problema esta en la carpeta user\uno_packages. De hecho he copiado en el nuevo usuario todas las carpetas antiguas excepto esta. De esta forma he podido recuperar todos "Mis Macros"
Los problemas del eje secundario permanecen. Prefiero probar todas las opciones que me has propuesto y te comento el resultado
Un saludo
Generando un usuario nuevo me ha dejado cargar de nuevo la EasyDev.
Sustituyendo sucesivamente las diferentes carpetas, he podido saber que el problema esta en la carpeta user\uno_packages. De hecho he copiado en el nuevo usuario todas las carpetas antiguas excepto esta. De esta forma he podido recuperar todos "Mis Macros"
Los problemas del eje secundario permanecen. Prefiero probar todas las opciones que me has propuesto y te comento el resultado
Un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenas noches Mauricio:
Tu propuesta ha funcionado satisfactoriamente casi en todo.
* Titulo y Leyenda han funcionado perfectamente
* La escala de los ejes ha funcionado muy bien. En mi caso, el eje X corresponde a fechas. Los valores mínimo y máximo del intervalo los he indicado en valor numérico y ha funcionado sin problemas
El caso del eje secundario ha presentado algunas "cosas raras":
* En el gráfico las dos series se se representan en el eje Y principal
* La escala gráfica corresponde a la serie que tiene asignada el eje principal.
* La serie que tiene asignado el eje secundario, es de un orden de magnitud superior y no se ve adecuadamente en la gráfica
* Sin embargo, entrando en el gráfico en las propiedades de la serie aparece asignado el eje secundario. Activo el eje principal y la escala automática cambia a la correspondiente a esta serie
* Vuelvo a entrar y a activar el eje secundario y cada serie se representa correctamente en un eje
Sobre la propuesta que te hice hemos cubierto prácticamente toda la lista. Únicamente queda nombre y valores de los ejes así como sus formatos.
Para trabajar con el eje Y secundario, supongo que habrá que identificar cada uno de los dos ejes Y en la instrucción axis = chart.getDiagram().getYAxis(), supongo que con axis = chart.getDiagram().getYAxis(0) y con axis = chart.getDiagram().getYAxis(1). ¿Es así?
Por último, sería útil controlar el valor del eje Y en el que corta al eje X.
Espero tus noticias
Muchas gracias por todo
Tu propuesta ha funcionado satisfactoriamente casi en todo.
* Titulo y Leyenda han funcionado perfectamente
* La escala de los ejes ha funcionado muy bien. En mi caso, el eje X corresponde a fechas. Los valores mínimo y máximo del intervalo los he indicado en valor numérico y ha funcionado sin problemas
El caso del eje secundario ha presentado algunas "cosas raras":
* En el gráfico las dos series se se representan en el eje Y principal
* La escala gráfica corresponde a la serie que tiene asignada el eje principal.
* La serie que tiene asignado el eje secundario, es de un orden de magnitud superior y no se ve adecuadamente en la gráfica
* Sin embargo, entrando en el gráfico en las propiedades de la serie aparece asignado el eje secundario. Activo el eje principal y la escala automática cambia a la correspondiente a esta serie
* Vuelvo a entrar y a activar el eje secundario y cada serie se representa correctamente en un eje
Sobre la propuesta que te hice hemos cubierto prácticamente toda la lista. Únicamente queda nombre y valores de los ejes así como sus formatos.
Para trabajar con el eje Y secundario, supongo que habrá que identificar cada uno de los dos ejes Y en la instrucción axis = chart.getDiagram().getYAxis(), supongo que con axis = chart.getDiagram().getYAxis(0) y con axis = chart.getDiagram().getYAxis(1). ¿Es así?
Por último, sería útil controlar el valor del eje Y en el que corta al eje X.
Espero tus noticias
Muchas gracias por todo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
No consigo subir gráficos ni archivos
Te adjunto el código
Te adjunto el código
Código: Seleccionar todo
Option Explicit
Sub GraficandoRangos01()
' Con EasyDev 2.3
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
Dim chart as Object
Dim Axis as Object
Dim title as Object
Dim legend as Object
Dim Temp as String
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = 1
address.EndCol = 1
' Rango de las abscisas
rango_Y = util.getRange(address)
' Título
address.Col = 1
address.Row = 3
title_1 = util.getCell(address)
' Propiedades de la serie
properties = Array( _
Array("Color", RGB(0,0,255)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 0) _
)
' Asignación de rangos a la serie
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
'series(0).Color = 17798
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 2) _
)
' Serie definiendo los rangos por String
' properties = Array( _
' Array("Color", RGB(145,249,251)), _
' Array("LineWidth", 100), _
' )
series(1).X = "Hoja1.C5:C10011"
series(1).Y = "Hoja1.D5:D10011"
series(1).Title = "Hoja1.D4"
'series(1).Color = 16728590
series(1).Properties = properties
' Posición del gráfico
pos_size.X = 0
pos_size.Y = 0
pos_size.Width = 26000
pos_size.Height = 14000
' Características del gráfico
data.Doc = doc
address.Sheet = "Graficos" ' Se redefine la hoja para poder hubicar el gráfico
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
'----------------------------------------------------------------------------------------------
Temp= "Título por variable"
properties = Array( _
Array("Title", Temp), _
Array("HasLegend", True), _
)
data.Properties = properties
'----------------------------------------------------------------------------------------------
chart = util.chartAdd(data)
'----------------------------------------------------------------------------------------------
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 4), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(0,0,0)), _
Array("LineWidth", 10) _
)
util.imageFormat(legend, properties)
'----------------------------------------------------------------------------------------------
axis = chart.getDiagram().getXAxis()
axis.Min = 37074
axis.Max = 37075
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -5), _
Array("Max", 7), _
)
util.imageFormat(axis, properties)
End Sub
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
Seguramente es por el tamaño, usa un servicio externo y enlazalo aquí...
En mis pruebas, los ejes secundarios siempre son igual a 1, no se por que usas: AttachedAxisIndex = 2
El formato de los ejes son parte de sus propiedades (NumberFormat), es importante te familiarices y uses MRI para estos casos...
El eje se corta usando la propiedad CrossoverValue, que también la encontré con MRI, insisto, hay que dominar esta importante herramienta...
Saludos
En mis pruebas, los ejes secundarios siempre son igual a 1, no se por que usas: AttachedAxisIndex = 2
El formato de los ejes son parte de sus propiedades (NumberFormat), es importante te familiarices y uses MRI para estos casos...
El eje se corta usando la propiedad CrossoverValue, que también la encontré con MRI, insisto, hay que dominar esta importante herramienta...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenas tardes Mauricio y muchas gracias por tu trabajo.
Respecto a los archivos adjuntos, voy a editor completo, en la pestaña de archivos adjuntos, seleccionar archivo, selecciono el archivo y pulso agregar archivo. Se queda "pensando", termina de pensar, desaparece el nombre del archivo y no veo el documento por ningún sitio.
Por otra parte, en el editor hay una tecal "Img", pero tampoco he sido capaz de añadir una imagen, no he consegido saber como funciona. Si me puedes dar alguna indicación de como funciona alguna estas dos vías te lo agradecería.
Respecto a los valores de AttachedAxisIndex , he probado de todo, 0 en la primera serie y 1 en la segunda. También con los valores cambiados, 1 para loas dos series. En todos los casos las dos series aparecen referencias al eje principal. Si no recuerdo mal, la escala si que cambiaba.
Enseguida probaré las opciones de los ejes que me das y te comentaré el resultado.
Respecto a MRI, tengo dos preguntas: 1 ¿Tengo que instalarlo como extensión?, si es así ¿de donde lo puedo cargar?. 2 ¿donde puedo conseguir un manual?
Muchas gracias por todo y hasta pronto
Respecto a los archivos adjuntos, voy a editor completo, en la pestaña de archivos adjuntos, seleccionar archivo, selecciono el archivo y pulso agregar archivo. Se queda "pensando", termina de pensar, desaparece el nombre del archivo y no veo el documento por ningún sitio.
Por otra parte, en el editor hay una tecal "Img", pero tampoco he sido capaz de añadir una imagen, no he consegido saber como funciona. Si me puedes dar alguna indicación de como funciona alguna estas dos vías te lo agradecería.
Respecto a los valores de AttachedAxisIndex , he probado de todo, 0 en la primera serie y 1 en la segunda. También con los valores cambiados, 1 para loas dos series. En todos los casos las dos series aparecen referencias al eje principal. Si no recuerdo mal, la escala si que cambiaba.
Enseguida probaré las opciones de los ejes que me das y te comentaré el resultado.
Respecto a MRI, tengo dos preguntas: 1 ¿Tengo que instalarlo como extensión?, si es así ¿de donde lo puedo cargar?. 2 ¿donde puedo conseguir un manual?
Muchas gracias por todo y hasta pronto
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
http://easydev.readthedocs.org/es/lates ... amar-a-mri
Realmente solo necesitas tener un objeto seleccionad, el que sea, por ejemplo, la serie de un gráfico o el eje del mismo, e ir al menú Herramientas -> Add Ons... -> MRI.. Selection
y eso es todo... claro, encontrar lo que uno busca, ese, es otro cantar...
Reitero, debe ser el tamaño de tu archivo, subelo a un servicio externo y solo pon el enlace en este tema.
Saludos
Realmente solo necesitas tener un objeto seleccionad, el que sea, por ejemplo, la serie de un gráfico o el eje del mismo, e ir al menú Herramientas -> Add Ons... -> MRI.. Selection
y eso es todo... claro, encontrar lo que uno busca, ese, es otro cantar...
Reitero, debe ser el tamaño de tu archivo, subelo a un servicio externo y solo pon el enlace en este tema.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Buenas noches Mauricio:
Por fin el eje secundario Y se ha hecho visible
Ha sido posible con añadiendo el siguiente código
He puesto puntos de parada en la ejecución del programa. En la ventana Observador he visto "axis".
La solución ha sido dar valores a los distintos componentes que aparecen en el listado. Problema resuelto.
He hecho lo mismo en el eje Y, he fijado los extremos de la escala y el título del eje. Lo he hecho por dos procedimientos:
El que acabo de comentar:
Ha funcionado sin problemas
Por otra parte he probado con el método de la matriz de propiedades:
En este caso funciona el establecimiento de valores extremos, pero no el título
A la vista de estos resultados tengo dos preguntas:
1: ¿Que relación hay entre estos dos procedimientos?
2: ¿Porque en el segundo caso no funciona el título?
El primer procedimiento me resulta útil, porque parando el programa me permite saber cuales son las variables a las que puedo asignar valores.
Muchas gracias y hasta pronto
Por fin el eje secundario Y se ha hecho visible
Ha sido posible con añadiendo el siguiente código
Código: Seleccionar todo
axis = chart.getDiagram().getSecondaryYAxis()
axis.Min = -50
axis.Max = 50
axis.Visible=true
axis.axisTitle.String = "YSecundario"
La solución ha sido dar valores a los distintos componentes que aparecen en el listado. Problema resuelto.
He hecho lo mismo en el eje Y, he fijado los extremos de la escala y el título del eje. Lo he hecho por dos procedimientos:
El que acabo de comentar:
Código: Seleccionar todo
axis = chart.getDiagram().getYAxis()
axis.Min = -5
axis.Max = 7
axis.axisTitle.String = "Eje Y"
Por otra parte he probado con el método de la matriz de propiedades:
Código: Seleccionar todo
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -1), _
Array("Max", 10), _
Array("axisTitle.String", " Array Eje Y"), _
)
A la vista de estos resultados tengo dos preguntas:
1: ¿Que relación hay entre estos dos procedimientos?
2: ¿Porque en el segundo caso no funciona el título?
El primer procedimiento me resulta útil, porque parando el programa me permite saber cuales son las variables a las que puedo asignar valores.
Muchas gracias y hasta pronto
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.3.0 [27-Nov-15]
La mayor parte de los objetos de un gráfico, como lo explico por aquí: https://wiki.openoffice.org/wiki/ES/Man ... .C3.A1fico
son realmente formas (shapes), por lo que aplica la mayor parte del formato de las mismas.
El código con el que aplico las propiedades a las formas, es trivial:
Primero convierto la matriz de datos a un diccionario, verifico si es el título de un gráfico, ya que esta es una forma muy especial, al final pregunta si el objeto (image) tiene una propiedad (hasattr), y si la tiene se le aplica (setattr), una belleza.
Entonces, si tu haces:
Obtienes un objeto, pero si haces:
la propiedad axisTitle.String NO existe en el objeto.
Este es un caso especial para los ejes, ahora si me das toda la información necesaria (gracias y felicidades!) para solo agregar este caso especial al código.
1.- La primer forma es aplicando propiedades directamente a los objetos, como se hace de forma tradicional desde Basic, si hicieses todo con Basic, esta sería la única forma que tienes de manipular los objetos. La segunda forma, es como lo hace EasyDev, que al recibir un Array, te permite aplicar propiedades por nombre desde una cadena, algo muy común en Python pero no disponible en Basic.
2.- Ya lo explique más arriba, el título es un sub-objeto del eje.
Para saber que propiedades puedes aplicar, nada como MRI.
Saludos y gracias por tu retroalimentación.
son realmente formas (shapes), por lo que aplica la mayor parte del formato de las mismas.
El código con el que aplico las propiedades a las formas, es trivial:
Código: Seleccionar todo
def imageFormat(self, image, data):
properties = comun.to_dict(data)
title = None
if image.supportsService('com.sun.star.chart2.Title'):
title = image.getText()[0]
for k, v in properties.items():
if hasattr(image, k):
setattr(image, k, v)
if title and hasattr(title, k):
setattr(title, k, v)
return
Entonces, si tu haces:
Código: Seleccionar todo
axis = chart.getDiagram().getYAxis()
Código: Seleccionar todo
"axisTitle.String"
Este es un caso especial para los ejes, ahora si me das toda la información necesaria (gracias y felicidades!) para solo agregar este caso especial al código.
1.- La primer forma es aplicando propiedades directamente a los objetos, como se hace de forma tradicional desde Basic, si hicieses todo con Basic, esta sería la única forma que tienes de manipular los objetos. La segunda forma, es como lo hace EasyDev, que al recibir un Array, te permite aplicar propiedades por nombre desde una cadena, algo muy común en Python pero no disponible en Basic.
2.- Ya lo explique más arriba, el título es un sub-objeto del eje.
Para saber que propiedades puedes aplicar, nada como MRI.
Saludos y gracias por tu retroalimentación.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
Listo, ahora puedes usar:
Código: Seleccionar todo
axis = chart.getDiagram().getSecondaryYAxis()
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("Min", -1), _
Array("Max", 7), _
Array("Visible", True), _
Array("String", "Y Secundario"), _
)
util.imageFormat(axis, properties)
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
Buenos dias,
El Zip y el Unzip funcionan a la perfeccion.
Muchas gracias.
Se podria implementar que con un click del raton en la columna correspondiente de un grid hecho en un dialogo, se ordenara la lista del grid por el valor de dicha columna?
Es una idea, que hasta la fecha no he encontrado como hacerlo.
Saludos
El Zip y el Unzip funcionan a la perfeccion.
Muchas gracias.
Se podria implementar que con un click del raton en la columna correspondiente de un grid hecho en un dialogo, se ordenara la lista del grid por el valor de dicha columna?
Es una idea, que hasta la fecha no he encontrado como hacerlo.
Saludos
LibreOffice 7.3.1.3
Linux Mint 20.3
Linux Mint 20.3
Re: EasyDev v2.3.0 [27-Nov-15]
Los método para ordenar un Grid existen:
http://www.openoffice.org/api/docs/comm ... Model.html
http://www.openoffice.org/api/docs/comm ... dData.html
Ahora solo hay que probarlos...
Saludos
http://www.openoffice.org/api/docs/comm ... Model.html
http://www.openoffice.org/api/docs/comm ... dData.html
Ahora solo hay que probarlos...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
Hola a todos.
Antes que nada me gustaría decir que al dia de hoy no me he metido mucho a esta nueva extensión así que por favor disculpen ..... por el momento tengo dos preguntas:
1) ¿Esta nueva version EasyDev v2.3.0 [27-Nov-15] funcionará para AOO 4.1.2?
2) ¿En LibreOffice al instalar EasyDev v2.3.0 [27-Nov-15] borra/suprime el codigo digamos original de arranque del MRI?
Saludos, Federico.
Antes que nada me gustaría decir que al dia de hoy no me he metido mucho a esta nueva extensión así que por favor disculpen ..... por el momento tengo dos preguntas:
1) ¿Esta nueva version EasyDev v2.3.0 [27-Nov-15] funcionará para AOO 4.1.2?
2) ¿En LibreOffice al instalar EasyDev v2.3.0 [27-Nov-15] borra/suprime el codigo digamos original de arranque del MRI?
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: EasyDev v2.3.0 [27-Nov-15]
1) Solo he probado algunas funcionalidades en AOO, pero se instala de forma correcta... habría que probar casi todas las herramientas: http://easydev.readthedocs.org/en/latest/
2) No, EasyDev puede "llamar" a MRI, pero no lo toca para nada, obvio, debe estar previamente instalado MRI para poder llamarlo, pero NO lo reemplaza, si esa es la duda.
Saludos
P.D. No hay razón para pedir disculpas, el involucramiento con cualquier software libre es totalmente voluntario.
2) No, EasyDev puede "llamar" a MRI, pero no lo toca para nada, obvio, debe estar previamente instalado MRI para poder llamarlo, pero NO lo reemplaza, si esa es la duda.
Saludos
P.D. No hay razón para pedir disculpas, el involucramiento con cualquier software libre es totalmente voluntario.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: EasyDev v2.3.0 [27-Nov-15]
ok ok ok ¡perfecto! muchas gracias.
Saludos, Federico.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Hola Mauricio:
En relación con la elaboración de gráficos, siguiendo tus instrucciones, he podido confeccionar un código que funciona correctamente y que te adjunto:
Con objeto de sinplificarlo y poder generalizarlo he intantado generar una función para confeccionar los datos de las series
Prevamento he comprobado que la rutina funciona pasando la variable Series(1) a Pública
Como primera aproximación ha generado el siguiente código:
Funciona aparentemente bien, pero hay un problema
- La carga de dirección en address es correcta
- A aplicar la instrucción rango_X = util.getRange(address) el valor de Rango_X.RangeAddress.Sheet, toma el valor de 2 en lugar de 0 como correspondería
No entiendo porqué ocurre esto, porque en el código anterior está igual, o al menos a mi me lo parece, alli funciona aquí no.
Muchas gracias y un saludo
En relación con la elaboración de gráficos, siguiendo tus instrucciones, he podido confeccionar un código que funciona correctamente y que te adjunto:
Código: Seleccionar todo
Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim pos_size As New com.sun.star.awt.Rectangle
Dim series(1) As New org.universolibre.EasyDev.ChartSerie
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
Dim chart as Object
Dim Axis as Object
Dim title as Object
Dim legend as Object
Dim Temp as String
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = 1
address.EndCol = 1
' Rango de las abscisas
rango_Y = util.getRange(address)
' Título
address.Col = 1
address.Row = 3
title_1 = util.getCell(address)
' Propiedades de la serie
properties = Array( _
Array("Color", RGB(0,0,255)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 0) _
)
' Asignación de rangos a la serie
series(0).X = rango_X
series(0).Y = rango_Y
series(0).Title = title_1
'series(0).Color = 17798
series(0).Properties = properties
properties = Array( _
Array("Color", RGB(255,0,0)), _
Array("LineWidth", 100), _
Array("AttachedAxisIndex", 1) _
)
' Serie definiendo los rangos por String
' properties = Array( _
' Array("Color", RGB(145,249,251)), _
' Array("LineWidth", 100), _
' )
series(1).X = "Hoja1.C5:C10011"
series(1).Y = "Hoja1.D5:D10011"
series(1).Title = "Hoja1.D4"
'series(1).Color = 16728590
series(1).Properties = properties
' Posición del gráfico
pos_size.X = 0
pos_size.Y = 0
pos_size.Width = 26000
pos_size.Height = 14000
' Características del gráfico
data.Doc = doc
address.Sheet = "Graficos" ' Se redefine la hoja para poder hubicar el gráfico
data.Sheet = util.getSheet(address)
data.Name = "Grafico01"
data.Type = "XYDiagram"
data.PosSize = pos_size
data.Series = series
'----------------------------------------------------------------------------------------------
Temp= "Caso 5: Propiedades de eje Y como Array"
properties = Array( _
Array("Title", Temp), _
Array("HasLegend", True), _
)
' Array("HasSecondaryYAxis", True), _
' Array("HasXAxisTitle", True), _
' Array("HasYAxisTitle", True), _
' Array("HasSecondaryYAxisTitle", True), _
' )
' Array("HasSecondaryYAxis", True), _
' )
data.Properties = properties
'----------------------------------------------------------------------------------------------
chart = util.chartAdd(data)
'----------------------------------------------------------------------------------------------
' Título
properties = Array( _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 18), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(255,0,0)), _
Array("LineWidth", 100) _
)
title = chart.getTitleObject()
util.imageFormat(title, properties)
' Leyenda
legend = chart.Legend
'https://www.openoffice.org/api/docs/common/ref/com/sun/star/chart/ChartLegendPosition.html
properties = Array( _
Array("Alignment", 4), _
Array("CharColor", RGB(0,0,255)), _
Array("CharHeight", 12), _
Array("CharWeight", 150), _
Array("CharFontName", "Liberation Serif"), _
Array("LineStyle", 1), _
Array("LineColor", RGB(0,0,0)), _
Array("LineWidth", 10) _
)
util.imageFormat(legend, properties)
'----------------------------------------------------------------------------------------------
axis = chart.getDiagram().getXAxis()
axis.Min = 37074
axis.Max = 37075
' axis = chart.getDiagram().getYAxis()
' axis.Min = -5
' axis.Max = 7
' axis.axisTitle.String = "Eje Y"
' axis = chart.getDiagram().getYAxis()
' properties = Array( _
' Array("Min", -1), _
' Array("Max", 10), _
' Array("axisTitle.String", " Array Eje Y"), _
' )
' Array("AxisTitle.String", "Eje Y"), _
' )
util.imageFormat(axis, properties)
axis = chart.getDiagram().getSecondaryYAxis()
axis.Min = -50
axis.Max = 50
axis.Visible=true
axis.axisTitle.String = "YSecundario"
axis = chart.getDiagram().getYAxis()
properties = Array( _
Array("Min", -3), _
Array("Max", 10), _
Array("String", "Eje Y Array"), _
)
util.imageFormat(axis, properties)
' axis = chart.getDiagram().getSecondaryYAxis()
' properties = Array( _
' Array("Min", -5), _
' Array("Max", 7), _
' )
' util.imageFormat(axis, properties)
End Sub
Prevamento he comprobado que la rutina funciona pasando la variable Series(1) a Pública
Como primera aproximación ha generado el siguiente código:
Código: Seleccionar todo
Function fGrfPr001(Hoja As Integer, ColX As Integer, ColY As Integer, FilA As Long, FilZ As Long, FilT As Long, EjeY As Integer, Form As Integer) As New org.universolibre.EasyDev.ChartSerie
'Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = Hoja
address.Col = ColX
address.Row = FilA
address.EndCol = ColX
address.EndRow = FilZ
'------------------------------------------------------------
' R A N G O S
'------------------------------------------------------------
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = ColY
address.EndCol = ColY
' Rango de las abscisas
' rango_Y = address
rango_Y = util.getRange(address)
' Asignación de rangos a la serie
SerieTr.X = rango_X
SerieTr.Y = rango_Y
fGrfPr001=SerieTr
'End Sub
End Function
- La carga de dirección en address es correcta
- A aplicar la instrucción rango_X = util.getRange(address) el valor de Rango_X.RangeAddress.Sheet, toma el valor de 2 en lugar de 0 como correspondería
No entiendo porqué ocurre esto, porque en el código anterior está igual, o al menos a mi me lo parece, alli funciona aquí no.
Muchas gracias y un saludo
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.3.0 [27-Nov-15]
Pido disculpas, al último código le falta la cabecera
Código: Seleccionar todo
REM ***** BASIC *****
Option Explicit
Public Series(1) As New org.universolibre.EasyDev.ChartSerie
Sub Main
Series(0) = fGrfPr001(0, 0, 1, 4, 10010, 3, 0, 2)
End Sub
Function fGrfPr001(Hoja As Integer, ColX As Integer, ColY As Integer, FilA As Long, FilZ As Long, FilT As Long, EjeY As Integer, Form As Integer) As New org.universolibre.EasyDev.ChartSerie
'Sub GraficandoRangosED()
' Con EasyDev 2.3
Dim util as Object
Dim Address as Object
Dim data as Object
Dim doc as Object
Dim rango_X as Object
Dim rango_Y as Object
Dim Title_1 as Object
Dim Properties as Object
util = createUnoService("org.universolibre.EasyDev")
address = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
data = createUnoStruct("org.universolibre.EasyDev.ChartData")
doc = ThisComponent
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = Hoja
address.Col = ColX
address.Row = FilA
address.EndCol = ColX
address.EndRow = FilZ
'------------------------------------------------------------
' R A N G O S
'------------------------------------------------------------
' Rango de las ordenadas
rango_X = util.getRange(address)
' Los valores que no cambian mantienen su valor
address.Col = ColY
address.EndCol = ColY
' Rango de las abscisas
' rango_Y = address
rango_Y = util.getRange(address)
' Asignación de rangos a la serie
SerieTr.X = rango_X
SerieTr.Y = rango_Y
fGrfPr001=SerieTr
'End Sub
End Function
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.4.0 [07-Dic-15]
No veo ningún problema, pero si te sucede obvio que lo hay... solo que si no anexas un archivo con datos me obligas a preparar un entorno de pruebas... siempre es más rápido que agregues el archivo para solo ejecutarlo y tratar de encontrar el problema...
He pasado a producción los cambio realizados...
Saludos
He pasado a producción los cambio realizados...
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.4.0 [07-Dic-15]
Gracias Mauricio.
El problema es que, por más que lo intento, no consigo subir archivos al foro. Acabo de hacer una prueba con un archivo muy pequeño y he conseguido subirlo. Probaré a reducirlo a la mínima expresión y te lo haré llegar. Lo intentaré esta tarde hora española
Gracias y hasta pronto
El problema es que, por más que lo intento, no consigo subir archivos al foro. Acabo de hacer una prueba con un archivo muy pequeño y he conseguido subirlo. Probaré a reducirlo a la mínima expresión y te lo haré llegar. Lo intentaré esta tarde hora española
Gracias y hasta pronto
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
Re: EasyDev v2.4.0 [07-Dic-15]
Agradezco infinitamente a mi amigo y nuestro compañero en este foro (Salva) la publicación de una nota, hablando de EasyDev en su insuperable blog de OpenOffice: http://blog.open-office.es/extensiones/ ... a-en-basic
Muchas gracias
Muchas gracias
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 81
- Registrado: Mié Jun 17, 2015 6:04 pm
Re: EasyDev v2.4.0 [07-Dic-15]
Hola de nuevo Mauricio.
Respecto a los gráficos he visto donde está el problema. No se como resolverlo, pero lo he identificado.
En el primer caso que planteé siguiendo tus instrucciones, el que funciona, la hoja se identifica por su nombre, como String
En este caso el código funciona sin ningún problema. Pongo un punto de ruptura en la linea de código siguiente, voy a la ventana de Observador, y en Rango_X.RangeAddress.Sheet tiene el valor 0. He comprobado que si cambio "Hoja1" por cualquier otro nombre de hoja válido, funciona bien, y en Rango_X.RangeAddress.Sheet figura el valor correspondiente a esa hoja.
Si el valor de address.Sheet es entero se presentan dos casos:
- address.Sheet = 0 --> Rango_X.RangeAddress.Sheet toma el valor (indice) correspondiente a la hoja que está activa en Calc
- address.Sheet tiene cualquier otro valor entero --> da error
Espero que tenga una solución. De nuevo muchas gracias por tu trabajo
P.D. He intentado subir algunos archivos, pero siguen siendo demasiado grandes. ¿Cual es el tamaño máximo que admite?
Respecto a las imágenes, sigo sin saber como incluirlas en el mensaje, ¿Que es lo que hay que poner entre los corchetes? La ruta para encontrarla?. Supongo que ademas tendrá el mismo problema de tamaño
Respecto a los gráficos he visto donde está el problema. No se como resolverlo, pero lo he identificado.
En el primer caso que planteé siguiendo tus instrucciones, el que funciona, la hoja se identifica por su nombre, como String
Código: Seleccionar todo
' Definición de rango de datos por índice
address.Doc = doc
address.Sheet = "Hoja1"
address.Col = 0
address.Row = 4
address.EndCol = 0
address.EndRow = 10010
' Rango de las ordenadas
rango_X = util.getRange(address)
Si el valor de address.Sheet es entero se presentan dos casos:
- address.Sheet = 0 --> Rango_X.RangeAddress.Sheet toma el valor (indice) correspondiente a la hoja que está activa en Calc
- address.Sheet tiene cualquier otro valor entero --> da error
Espero que tenga una solución. De nuevo muchas gracias por tu trabajo
P.D. He intentado subir algunos archivos, pero siguen siendo demasiado grandes. ¿Cual es el tamaño máximo que admite?
Respecto a las imágenes, sigo sin saber como incluirlas en el mensaje, ¿Que es lo que hay que poner entre los corchetes? La ruta para encontrarla?. Supongo que ademas tendrá el mismo problema de tamaño
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------
"Como no sabían que era imposible, lo hicieron"
Open Office 4.1.1
Libre Office 5.0
Windows 10
-------------------------------------------------------------