Mi nombre es Augusto y escribo desde Galicia, España.
Antes de nada agradecer el esfuerzo de todos los que participan en este foro por compartir sus conocimientos, que me han servido de ayuda en mis proyectos.
Hago esta consulta ya que después de buscar en el foro no conseguí dar con la forma de resolver mi problema que es el siguiente:
En mi trabajo realizo unos informes en el que se repiten una serie de datos varias veces a lo largo del informe. Para resolver esto tengo una plantilla de writer en la que esos valores (como el nombre del cliente, la fecha, provincia, ayuntamiento, etc) los tengo escritos con campos genericos como D.Peticionario y después con la herramienta buscar y reemplazar cambiaba el campo por el valor correspondiente.
Buscando en vuestro foro di con la forma de agilizar el proceso y creé una macro que me va pidiendo los valores de todos los campos a reemplazar.
El caso es que todos esos valores los tengo que introducir también en calc ya que los utilizo para realizar una serie de cálculos y quería aprovechar que ya los tengo en calc para que tome los datos de las celdas correspondientes y las utilice en writer modificando un poco la macro que ya tengo:
Código: Seleccionar todo
sub reemplazar
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
Dim nombrecliente As String
nombrecliente = InputBox("Introducir nombre del peticionario")
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(21) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.SearchFiltered"
args1(4).Value = false
args1(5).Name = "SearchItem.Backward"
args1(5).Value = false
args1(6).Name = "SearchItem.Pattern"
args1(6).Value = false
args1(7).Name = "SearchItem.Content"
args1(7).Value = false
args1(8).Name = "SearchItem.AsianOptions"
args1(8).Value = false
args1(9).Name = "SearchItem.AlgorithmType"
args1(9).Value = 0
args1(10).Name = "SearchItem.SearchFlags"
args1(10).Value = 65536
args1(11).Name = "SearchItem.SearchString"
args1(11).Value = "D. Peticionario"
args1(12).Name = "SearchItem.ReplaceString"
args1(12).Value = nombrecliente
args1(13).Name = "SearchItem.Locale"
args1(13).Value = 255
args1(14).Name = "SearchItem.ChangedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.DeletedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.InsertedChars"
args1(16).Value = 2
args1(17).Name = "SearchItem.TransliterateFlags"
args1(17).Value = 1280
args1(18).Name = "SearchItem.Command"
args1(18).Value = 3
args1(19).Name = "SearchItem.SearchFormatted"
args1(19).Value = false
args1(20).Name = "SearchItem.AlgorithmType2"
args1(20).Value = 1
args1(21).Name = "Quiet"
args1(21).Value = true
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
end sub
Muchas gracias