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.