Página 1 de 1
[RESUELTO] Ayuda Urgente (Importar documentos)
Publicado: Jue May 13, 2010 12:01 pm
por Donilo
Hola amigos, soy nuevo en Ooo Basic.
A ver si me podeis hechar un mano
Necesito hacer lo siguiente:
Tengo que hacer una macro que desde un documento abierto, me haga un salto de pagina y pegue en esta nueva página el contenido de otro documento ya existente. Vamos, una importacion de documento.
He encontrado rutinas para hacer salto de pagina, pero me falla en la numeracion de la pagina, con respecto a importar el documento, no tengo ni idea.
A ver si alguien me puede ayudar con esta macro.
Gracias por vuestra atención,
Re: Ayuda Urgente (Importar documentos)
Publicado: Jue May 13, 2010 12:36 pm
por rhuerta
Espero que te sirva
Código: Seleccionar todo
sub InsDocumento (sruta as string)
' Inserta en la hoja actual el archivo sruta con ruta absoluta en formato URL
'
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = sruta
args2(1).Name = "Filter"
args2(1).Value = "writer8"
dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args2())
end sub
Re: Ayuda Urgente (Importar documentos)
Publicado: Jue May 13, 2010 2:48 pm
por Donilo
Muchas gracias rhuerta, con esto que me has mandado, ya casi lo tengo.
Con tu rutina, el texto del segundo documento se inserta en el lugar donde esta el cursor. Ahora solo falta poder hacer un salto de página y que el texto del segundo documento se agregue en la nueva pagina.
Gracias por tu colaboración y a ver si alguien me puede ayudar con lo que me falta.
Re: Ayuda Urgente (Importar documentos)
Publicado: Vie May 14, 2010 11:39 am
por Donilo
Sigo sin conseguir hacer el salto de pagina.
Tengo otra posibilidad. He visto que desde OpenOfiice Write, si pulsas las teclas CTRL+ENTER, se produce un salto de pagina y el cursor aparece en la primera linea de la pagina nueva.
Mi pregunta es la siguiente, ¿sabe alguien hacer una macro que ejecute en mi documento las teclas CTRL+ENTER?
Gracias a todos por vuestra paciencia
Re: Ayuda Urgente (Importar documentos)
Publicado: Vie May 14, 2010 3:22 pm
por mauricio
Hola...
La siguiente macro te inserta dos saltos de página al final del documento desde donde la llames, son dos métodos que hacen lo mismo, usa el que más te guste, con esto y lo que te paso el compañero, complementa tu macro...
Código: Seleccionar todo
Sub Main
Dim oDoc As Object
Dim oTexto As Object
Dim oCursor As Object
Dim oVCursor As Object
oDoc = ThisComponent
oTexto = oDoc.getText
oCursor = oTexto.createTextCursor
'Movemos el cursor al final del texto
oCursor.gotoEnd( False )
'Insertamos un salto de parrafo
oTexto.insertControlCharacter( oCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
'Al establecer la propiedad PageDescName, le indicamos que queremos un salto de página, usamos el
'mismo nombre del estilo de página actual
oCursor.PageDescName = oCursor.PageStyleName
'Insertas lo que quieras en la nueva página
oCursor.setString( "Prueba 1" )
'Ahora usamos el cursor visual
oVCursor = oDoc.CurrentController.getViewCursor()
'Movemos al final
oVCursor.gotoEnd( False )
'Insertamos un salto de parrafo
oTexto.insertControlCharacter( oVCursor, com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
'Establecemos el salto de página
oVCursor.BreakType = com.sun.star.style.BreakType.PAGE_BEFORE
'Insertamos una prueba
oVCursor.setString( "Prueba 2" )
End Sub
Saludos
P.D. No es necesario que pongas
ayuda urgente, en el título de tu mensaje, con un título y una exposición clara de tu problema es suficiente, gracias.
Re: [RESUELTO] Ayuda Urgente (Importar documentos)
Publicado: Vie May 14, 2010 6:23 pm
por Donilo
Hola Mauricio,
he probado tus dos rutinas, la segunda funciona perfectamente, gracias por tu ayuda.
Gracias otra vez a rhuerta por su colaboración.
Un saludo a todo el foro.