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...

An unexpected error has occurred!

If this error persists, please report it to the administrator.

Volver a la página Home

Información adicional acerca de este error:

MySQL error!

Table 'evo_hitlog' is marked as crashed and should be repaired(Errno=1194)

Your query: Aggregate hits log

REPLACE INTO evo_hits__aggregate ( hagg_date, hagg_coll_ID, hagg_type, hagg_referer_type, hagg_agent_type, hagg_count )
SELECT DATE( hit_datetime ) AS hit_date, IFNULL( hit_coll_ID, 0 ), hit_type, hit_referer_type, hit_agent_type, COUNT( hit_ID )
  FROM evo_hitlog
 WHERE hit_datetime < '2021-04-17 00:00:00'
 GROUP BY hit_date, hit_coll_ID, hit_type, hit_referer_type, hit_agent_type