[RESUELTO]Macro cambiarr tipo fuente y tamaño control tabla.

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

[RESUELTO]Macro cambiarr tipo fuente y tamaño control tabla.

Mensaje por telemeteo »

Buenas noches,

Tengo un problema con una macro, ya que debido a un bug de LibreOffice, quiero que una macro asigne el tipo de letra y el tamaño (especialmente esto último) a un control de tabla. Consigo formatear las columnas, unas con formato fecha, otros texto y otras moneda. Pero el tipo de letra y el tamaño que va en las propiedades de control tabla, no hace nada.
Es un formulario con cinco subformularios, basados cada uno en una consulta.
Sólo hay un subformulario con control de tablas. En el resto de controles no hay problemas.

Los nombres son:
Formulario: “Informe_movimientos”
Subformulario: “MovimientosDetalle”
Control tabla: “Detalle_Mov”

Tengo un macro que he adaptado de un ejemplo que me envió “Longi” un compañero del foro.
El ejemplo: https://forum.openoffice.org/es/forum/d ... hp?id=6007 . Se llama grid2-copia.7z.

La macro que tengo es la siguiente:

Código: Seleccionar todo

Sub ControlTexto
    ocontroller = Thisdatabasedocument.currentController
    if not ocontroller.isconnected then ocontroller.connect                             ' Mantenemos la conexión
    oDoc = Thisdatabasedocument.formdocuments.getbyname("Informe_Movimientos").open        ' Abrimos el formulario
    oForm=oDoc.drawpage.forms.getbyname("MovimientosDetalle")
    oCtrl=oForm.getbyname("Detalle_Mov")
	oCtrl.Border=2
	oCtrl.RowHeight = (35)
    'oTablemodel.Enabled= False
    oCtrl.TextColor = RGB(120,50,250)
    oCtrl.FontName = (Arial)                                                          ' La fuente que aplicamos
    oCtrl.FontHeight = (6)
    
End Sub 
Si cambio la altura de la fila la acepta, el tipo de letra y el tamaño de la fuente, no.

Estoy probando pero no soy capaz de encontrar el fallo.
Si podéis echarme un mano os lo agradecería.

Un saludo,
Emiliano
Gracias
Última edición por mauricio el Vie Mar 18, 2016 4:48 am, editado 2 veces en total.
Razón: Marcar icono de resuelto
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Macro para aplicar tipo fuente y tamañao a control tabla

Mensaje por PepeOooSevilla »

Hola.
Prueba modificando:

Código: Seleccionar todo

oCtrl.FontName = (Arial)   ' La fuente que aplicamos
oCtrl.FontHeight = (6)
Por:

Código: Seleccionar todo

oCtrl.getModel.FontName = "Arial"   ' La fuente que aplicamos
oCtrl.getModel.FontHeight = 6
Saludos cordiales.
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

Re: Macro para aplicar tipo fuente y tamañao a control tabla

Mensaje por telemeteo »

Gracias por la respuesta.

He cambiado la macro. Ahora da error al ejecutar el formulario.
"Error de ejecución de BASIC. No se encontró la propiedad o el método: getModel."

Estoy pensando que quizás ni con una macro se pueda cambiar la fuente.
El alto de fila lo admite tanto en la macro como si se aplica en los controles.
Pasa igual con los formatos fecha, moneda, etc.
Sólo el más común a las distintas columnas que integran el Control Tabla, como es el de fuente, no cambia.

Es un bug que está desde el principio de la versión 5.0

El bug es, aún peor, con los rótulos de la columnas, que quedan con un tamaño de fuente gigantesco.

Voy a seguir probando.

Gracias de nuevo.

Emiliano
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

Re: [RESUELTO]Macro cambiarr tipo fuente y tamaño control ta

Mensaje por telemeteo »

Buenas noches.

Lo he dado por resuelto.
La macro está correcta.
Funciona perfectamente en LibreOffice 4.7.
Cambia, tamaño, tipo de fuente y color.
En LibreOffice 5 no funciona en ninguna de las versiones.
Pasa igual que al hacer el cambio en las propiedades del control tabla.
Es un bug que lleva tiempo sin resolverse.

Un saludo,
Emiliano
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
Responder