Macro para definir el formato de página en OpenOffice Writer

Esta macro permite definir el formato de página de un documento OpenOffice Writer.

Las dimensiones alto y ancho del papel, así como de los márgenes, se expresan en centímetros.

El diseño de página se indica por las claves DI para derecha e izquierda, R para reflejado, D para derecha e I para izquierda.

Si el séptimo argumento es true la orientación será apaisada, con false será vertical

 

sub Main
' ejemplo de uso
    FormatoPagina 21.55, 27, 3, 3, 2, 2, false, "DI"
end sub

Sub FormatoPagina(cmAncho as single, cmAlto as single, _
    cmMargenIzq as single, cmMargenDer as single, _
    cmMargenSup as single, cmMargenInf as single, _
    lOrientacionApaisada as boolean, _
    cDisenyoPagina as string )
   
  ' cDisenyoPagina puede ser DI para derecha, izquierda
  ' R para reflejado, D para derecha, I para izquierda
   
  Dim oStyleFamilies, oFamilies, oPageStyles, oStyle
  Dim oVCurs, oPageStyleName
  Dim oDoc
 
  oDoc = ThisComponent
  oVCurs = oDoc.CurrentController.getViewCursor()
  oPageStyleName = oVCurs.PageStyleName
  oPageStyles = oDoc.StyleFamilies.getByName("PageStyles")
  oStyle  = oPageStyles.getByName(oPageStyleName)

  With oStyle
    .Width = cmAncho*1000
    .Height = cmAlto*1000
    .LeftMargin = cmMargenIzq*1000
    .TopMargin = cmMargenSup *1000
    .RightMargin = cmMargenDer*1000
    .BottomMargin = cmMargenInf*1000
    .IsLandscape = lOrientacionApaisada
   
    select case uCase(cDisenyoPagina)
    case "DI"
        .PageStyleLayout = com.sun.star.style.PageStyleLayout.ALL
    case "R"
        .PageStyleLayout = com.sun.star.style.PageStyleLayout.MIRRORED
    case "I"
        .PageStyleLayout = com.sun.star.style.PageStyleLayout.LEFT
    case "D"
        .PageStyleLayout = com.sun.star.style.PageStyleLayout.RIGHT
    end select     
  End With

End Sub

No hay reacciones, todavía


Form is loading...

Otros usuarios vieron...

  • macros para comentarios en openoffice libreoffice calc

    Recientemente nos hemos encontrado con varias preguntas realizadas en el foro sobre cómo gestionar los comentarios en Calc mediante macros, y después de hacer un arduo trabajo de investigación, pr

  • Mismo BASIC pero diferentes objetos

    MS Office (MSO) y OpenOffice.org (OOo) no pueden ejecutar el mismo código macro. MSO utiliza el código VBA (Visual Basic for Applications) mientras que O

  •  

    ¿Cómo detectar si el usuario ha cambiado de celda? utilizando un evento de la hoja de cálculo llamado Al cambiar la selección (en Apache OpenOffice, Selección cambiada en Libre

Patrocinado por SBS  Contacto • ©2018 by SalvaDCH