Mi aplicacion necesita sustituir en un documento plantilla (.DOC) determinadas etiquetas por valores reales. Por ejemplo <Nombre> por Juan. Cuando la etiqueta esta dentro de un cuadro de texto (text frame), entonces se sustituye por una imagen. Todo lo tengo programado usando Server Automation de Microsoft. Pero me gustaria que trabajara tambien con OpenOffice. Ya he resuelto sustituir las etiquetas que aparecen en el texto. No asi, las etiquetas dentro de los cuadros de texto.
Puede alguien ayudarme a encontrar la solucion? Gracias por anticipado.
modificacion de cuadros de texto en documento
Re: modificacion de cuadros de texto en documento
Hola
¿ Has buscado en el foro por macro insertar imagen ?
Creo que el tema ya fué tratado hace tiempo
Saludos
Para los nuevos usuarios del foro:
Te damos la bienvenida a este foro. Esperamos poder ayudarte y que tus aportaciones ayuden también a otros.
Dado que recien has desembarcado en esta costa, te recomiendo que leas la Guía de supervivencia del foro .
Si con las respuestas obtenidas consideras que se ha dado solución a tu consulta , por favor, marca el tema como [RESUELTO],
(aunque la solución obtenida sea que no la hay , o hayas resuelto tú mism@ el problema ).
Si no sabes cómo, por favor, lee Como marcar como [RESUELTO] un tema.
Gracias por participar en el foro y ayudar a que todo esté ordenado.
¿ Has buscado en el foro por macro insertar imagen ?
Creo que el tema ya fué tratado hace tiempo
Saludos
Para los nuevos usuarios del foro:
Te damos la bienvenida a este foro. Esperamos poder ayudarte y que tus aportaciones ayuden también a otros.
Dado que recien has desembarcado en esta costa, te recomiendo que leas la Guía de supervivencia del foro .
Si con las respuestas obtenidas consideras que se ha dado solución a tu consulta , por favor, marca el tema como [RESUELTO],
(aunque la solución obtenida sea que no la hay , o hayas resuelto tú mism@ el problema ).
Si no sabes cómo, por favor, lee Como marcar como [RESUELTO] un tema.
Gracias por participar en el foro y ayudar a que todo esté ordenado.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Re: modificacion de cuadros de texto en documento
Gracias por la sugerencia. Yo había visto esta solución, pero resuelve la segunda parte del problema. ?Como buscar las etiquetas dentro de los cuadros de texto?
OpenOffice 4.1.1, Windows 7
Re: modificacion de cuadros de texto en documento
Creo que una caja de texto es un objeto TextShape.
Supongo que una forma será recorrer todos los objetos TextShape del documento, abrir un cursor de texto y buscar/sustituir con el cursor
Quizás esto pueda serte útil:
Es para Impress, pero ilustra como trabajar con un TextShape y un cursor.
Fuente: http://www.experts-exchange.com/Softwar ... 03730.html
Supongo que una forma será recorrer todos los objetos TextShape del documento, abrir un cursor de texto y buscar/sustituir con el cursor
Quizás esto pueda serte útil:
Código: Seleccionar todo
Sub Main
Dim oDoc as Object
Dim oSlideList as Object
Dim oSlide as Object
Dim oTextBox as object
Dim oCursor as Object
Dim oCntrlChar as Object
Dim oSize as Object
Dim oPoint as Object
' Get Access to this Impress Document
oDoc = ThisComponent
' Get a List of all Slides (DrawPages)
oSlideList = oDoc.getDrawPages()
' Get the First Slide (DrawPage)
oSlide = oSlideList.getByIndex(0)
' Create the Text Box
oTextBox = oDoc.createInstance("com.sun.star.drawing.TextShape")
' set the Size of the Text box
oSize = createUnoStruct( "com.sun.star.awt.Size" )
oSize.Height = 5000
oSize.Width = 10000
oTextBox.SetSize(oSize)
' Set the X,Y Coordinate of the Upper Left Corner
oPoint = createUnoStruct( "com.sun.star.awt.Point" )
oPoint.X = 2000
oPoint.Y = 2000
oTextBox.setPosition(oPoint)
' Add the Text box to the Slide
oSlide.add(oTextBox)
' Create a Cursor to Write the Text
oCursor = oTextBox.createTextCursor
' Set the size of the Cursor
oCursor.CharHeight = 12
' Write a Line of Data
oTextBox.insertString(oCursor, "This is my first line of text", true)
' Insert a Carriage Return
oCntrlChar = com.sun.star.text.ControlCharacter
oTextBox.insertControlCharacter(oCursor, oCntrlChar.LINE_BREAK, False)
' Write a second Line of Data
oTextBox.insertString(oCursor, "This is my Second line of text", true)
End Sub
Fuente: http://www.experts-exchange.com/Softwar ... 03730.html
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas