[RESUELTO] Margen distintos pág. derecha e izquierda con VB6
Publicado: Lun Jun 14, 2010 10:43 pm
Hola a todos.... mi inquietud es saber como doy márgenes a un documento, pero sabiendo que las páginas impares tienen diferentes margenes a las páginas pares...
Yo manejo Visual Basic 6.0 y OpenOffice 3.2.1rc.
Falta involucrar estas funciones y no se como hacerlo.
com.sun.star.style.PageStyleLayout.LEFT y com.sun.star.style.PageStyleLayout.RIGHT
Tengo el siguiente código...
Private Sub Command1_Click()
'Variables para los objetos
Dim oSM, oDesk, oDoc As Object
Dim arg()
Dim oStyle As Object
Dim oEstilos As Object
Dim oDocActivo As Object
Dim oEstilosPagina As Object
Dim sEstilo As String
Dim oViewCursor As Object
' Dim PageStyle As Object
Dim oPageStyleName As String
Dim oPageStyles As Object
Dim oVCurs As Object
'Obejto para manejador de OO
Set oSM = CreateObject("com.sun.star.ServiceManager")
'Instancia al objeto para manejar el Documetno
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
'Cargamos la plantilla en blanco...
'Observar que a partir de la plantilla expediente.ott se va a generar el documento
Set oDoc = oDesk.loadComponentFromURL("file:///C:/EXPEDIENTE.ott", "_blank", 0, arg())
'Para dar margenes a un Documento funciona
Set oVCurs = oDoc.CurrentController.getViewCursor()
oPageStyleName = oVCurs.PageStyleName
Set oPageStyles = oDoc.StyleFamilies.getByName("PageStyles")
Set oStyle = oPageStyles.getByName(oPageStyleName)
Rem fromleft, fromtop, fromright, frombottom = whatever you want
oStyle.LeftMargin = 4500
oStyle.TopMargin = 1500
oStyle.RightMargin = 1500
oStyle.BottomMargin = 3500
'Aqui cambio el tamaño del Papel Funciona
If oStyle.Width = 27940 Then
oStyle.Width = 21000
oStyle.Height = 29700
Else
oStyle.Width = 15000
oStyle.Height = 27940
End If
' .PageStyleLayout... aqui está el problema... página derecha y página izquierda ????
...
.
.
.
End sub
Agradezco su colaboración...
Yo manejo Visual Basic 6.0 y OpenOffice 3.2.1rc.
Falta involucrar estas funciones y no se como hacerlo.
com.sun.star.style.PageStyleLayout.LEFT y com.sun.star.style.PageStyleLayout.RIGHT
Tengo el siguiente código...
Private Sub Command1_Click()
'Variables para los objetos
Dim oSM, oDesk, oDoc As Object
Dim arg()
Dim oStyle As Object
Dim oEstilos As Object
Dim oDocActivo As Object
Dim oEstilosPagina As Object
Dim sEstilo As String
Dim oViewCursor As Object
' Dim PageStyle As Object
Dim oPageStyleName As String
Dim oPageStyles As Object
Dim oVCurs As Object
'Obejto para manejador de OO
Set oSM = CreateObject("com.sun.star.ServiceManager")
'Instancia al objeto para manejar el Documetno
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
'Cargamos la plantilla en blanco...
'Observar que a partir de la plantilla expediente.ott se va a generar el documento
Set oDoc = oDesk.loadComponentFromURL("file:///C:/EXPEDIENTE.ott", "_blank", 0, arg())
'Para dar margenes a un Documento funciona
Set oVCurs = oDoc.CurrentController.getViewCursor()
oPageStyleName = oVCurs.PageStyleName
Set oPageStyles = oDoc.StyleFamilies.getByName("PageStyles")
Set oStyle = oPageStyles.getByName(oPageStyleName)
Rem fromleft, fromtop, fromright, frombottom = whatever you want
oStyle.LeftMargin = 4500
oStyle.TopMargin = 1500
oStyle.RightMargin = 1500
oStyle.BottomMargin = 3500
'Aqui cambio el tamaño del Papel Funciona
If oStyle.Width = 27940 Then
oStyle.Width = 21000
oStyle.Height = 29700
Else
oStyle.Width = 15000
oStyle.Height = 27940
End If
' .PageStyleLayout... aqui está el problema... página derecha y página izquierda ????
...
.
.
.
End sub
Agradezco su colaboración...