Página 1 de 1

[RESUELTO] Comprobar esta macro

NotaPublicado: Mié Ene 20, 2016 4:48 am
por honovan
buenos días...
Agradezco por este sitio tan importante para los recién llegados a este mundo linux y el software libre.

deseo saber si a ustedes les da el mismo error que a mi...

es una macro en write para dar formato a las hojas pero me sale error, y me gustaria saber cual sera el problema y que debera hacer porque estoy desubicado, de antemano muchas gracias.

Código: Seleccionar todo   Expandir vistaContraer vista
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

Re: comprobar esta macro

NotaPublicado: Mié Ene 20, 2016 5:14 am
por mauricio
Siempre es importante mostrar el mensaje de error, obtendrás mejores respuestas...

¿Como estas llamando (ejecutando) a esta subrutina?, a mi me funciona sin errores...
Código: Seleccionar todo   Expandir vistaContraer vista
Sub Test()

   Call FormatoPagina(21, 27, 1, 2, 1.5, 2, True, "")

End Sub

Saludos

Re: comprobar esta macro

NotaPublicado: Mié Ene 20, 2016 3:15 pm
por SLV-es
En la página desde la que se ha extraído está la explicación y un ejemplo de uso.

http://blog.open-office.es/basic/macro- ... ice-writer

Coincido con Mauricio, mejor si nos muestras una captura de pantalla con el error. En la mayoría de los sistemas operativos, pulsar las teclas Alt+Imp Pant captura la ventana que está activa (la del error) y la copia a la memoria, para que la pegues en un procesador de textos o en un programa de imágenes, y poder enviarnosla.

Re: comprobar esta macro

NotaPublicado: Jue Ene 21, 2016 6:22 am
por honovan
Mauricio y SLV-es ... gracias por contestar.

la cosa es que estoy muy apenado con ustedes pues la respuesta de los dos era acertada me comí la llamada de la función del main y ya había estado averiguando por el error de llamado a una función o un parámetro que no existía , y si estaba en lo correcto de que era una llamada a la función pero no me fije en el ejemplo de la cual la saque que es la misma dirección que me colocaron. pido mil disculpas por este himpase .

la verdad estaba buscando esta macro desde hace tiempos para unos proyecticos que tengo y decirles también que hasta hoy he podido entender algo de como se encuentran los métodos y propiedades de uno en la wiki api libreoffice para crear los servicios y todo eso me tenia desubicado, la verdad estoy empezando en LOB ya en Microsoft basic aplicaciones pero esto es un tanto enredada al principio pero muy agradable.

nuevamente mil disculpas. y muchas gracias por contestar tan oportunamente.