Macro no siempre funciona

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
mtranier
Mensajes: 6
Registrado: Jue Abr 29, 2010 12:37 pm

Macro no siempre funciona

Mensaje por mtranier »

Mi problema es que una macro que cambia valores de margenes y tamaños de página al ser aplicado no siempre funciona. La macro incluye por ejemplo un cambio de letra y tamaño y eso siempre funciona pero a veces no aplica la otra parte de la macro (la que tiene que ver con la página). No se que pueda ser, ayuda y agradecimiento a quien pueda hacer andar esto.
OpenOffice 3.2 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro no siempre funciona

Mensaje por mauricio »

Hola...

Lo primero que puedes hacer es mostrarnos el código que estas usando para ver si hay algún error visible o para hacer pruebas, así "sin ver" es un poco complicado ayudarte.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
mtranier
Mensajes: 6
Registrado: Jue Abr 29, 2010 12:37 pm

Re: Macro no siempre funciona

Mensaje por mtranier »

La parte que suele no aplicar es la de la configuracion de pagina. Hoy detecte que si copio y pego pero esto ultimo lo hago en rtf (pegar en formato rtf) la cosa parece solucionarse, es como si el pegar en formato OOo llevara consigo no solo las palabras sino la configuracion de la hoja!!!


REM ***** BASIC *****

Sub Main

End Sub


Option Explicit


sub mmacro
Dim oDoc As Object
Dim oEstilos As Object
Dim oEstilosPagina As Object
Dim oEstiloPredeterminado As Object

'Accedemos al documento actual
oDoc = ThisComponent
'Accedemos a todos los estilos
oEstilos = oDoc.getStyleFamilies()
'Accedemos a los estilos de página
oEstilosPagina = oEstilos.getByName("PageStyles")
'Accedemos al estilo predeterminado
oEstiloPredeterminado = oEstilosPagina.getByName( "Standard" )
'Establecemos sus propiedades
With oEstiloPredeterminado
'Propiedades para el encabezado
'.HeaderIsOn = True 'Activar encabezado
'.HeaderIsDynamicHeight = True 'Ajuste dinamico de altura
'.HeaderBodyDistance = 500 'Distancia al cuerpo del documento
'.HeaderText.String = "Izquierda" & Chr(9) & "Centro" & Chr(9) & "Derecha"

'Propiedades para el pie de página
'.FooterIsOn = True
'.FooterIsDynamicHeight = True 'Ajuste dinamico de altura
'.FooterBodyDistance = 500 'Distancia al cuerpo del documento
'.FooterText.String = "Izquierda" & Chr(9) & "Centro" & Chr(9) & "Derecha"

'Propiedades de la página
.Width = 21590 'Ancho legal
.Height = 35570 'Alto legal
.TopMargin = 6500 'Margen superior
.BottomMargin = 3000 'Margen inferior
.LeftMargin = 4500 'Margen izquierdo
.RightMargin = 1500 'Margen derecho
.IsLandscape = False 'Orientación de la página ( True = Horizontal )
.PageStyleLayout = com.sun.star.style.PageStyleLayout.MIRRORED 'Diseño REFLEJADO
End With


rem ----------------------------------------------------------------------
rem define variables
OpenOffice 3.2 en Windows XP
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Macro no siempre funciona

Mensaje por Cascabel »

No sé si en este caso tendrá algo que ver, pero...

Una vez me volví loco intentando definir .CharPropHeight=150 para un estilo de párrafo (tamaño de letra=150% sobre el estilo "padre").
No funcionó, por más que lo intenté, con asignación directa. Con otras propiedades, sí; pero con ésa en concreto, no.
Tengo que usar .SetPropertyValue("CharPropHeight",150) para que lo haga bien.

Te sugiero que intentes lo mismo con las propiedades que no cambian de tu estilo de página.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
Responder