Ir al contenido

Word Find & Replace

Tipo: word-find-replace  ·  Paquete: Word Activities v1.0.4  ·  Salida: int

Busca un texto y lo reemplaza en todo el documento. Es la base del patrón de plantillas: tomas un .docx con marcadores ({NOMBRE}, {FECHA}) y los reemplazas con datos reales para generar documentos personalizados.

Reemplaza todas las apariciones de find por replace en el cuerpo del documento, incluidas las tablas. Por defecto no distingue mayúsculas (caseSensitive = false). Acepta session o path — ver los dos modos:

  • Con path: abre el archivo, reemplaza y lo guarda en la misma ruta automáticamente (aunque no haya habido reemplazos).
  • Con session (o dentro de un body): reemplaza en memoria; guarda después con Word Save.

Lo que conviene saber:

  • Fragmentos de texto: Word guarda el texto en fragmentos según el formato. La búsqueda se hace dentro de cada fragmento, así que un marcador con formato mezclado (por ejemplo, la mitad en negrita) o que Word partió al corregir ortografía no se encuentra. Escribe los marcadores de una sola vez y con un único formato; si uno no se reemplaza, bórralo y vuelve a escribirlo completo.
  • Alcance: solo el cuerpo del documento; los encabezados y pies de página no se modifican.
  • Formato: el texto nuevo conserva el formato del fragmento donde estaba el marcador.
  • caseSensitive se marca en el editor; no admite expresiones.
ParámetroTipoPor defectoDescripción
findstring—Texto a buscar. No puede estar vacío.
replacestring—Texto de reemplazo. Si la expresión da vacío, el marcador se borra.
ParámetroTipoPor defectoDescripción
sessionZoanWordSession—Sesión de Word Open (en vez de path). Dentro de un body se hereda automáticamente.
pathstring—Ruta al .docx (modo rápido: abre, modifica y guarda solo). Se usa solo si no hay sesión.
caseSensitiveboolfalseDistinguir mayúsculas y minúsculas.

Devuelve un int con el número de fragmentos de texto modificados. Si un mismo fragmento contiene el marcador varias veces, todas se reemplazan pero cuentan como uno. Úsalo para comprobar si hubo cambios: 0 significa que el texto no se encontró.

Rellenar una plantilla de carta con varios marcadores:

Copy File source = asset("plantilla.docx") destination = rutaCarta overwrite = true
Word Open path = rutaCarta
└─ body:
Word Find & Replace find = "{NOMBRE}" replace = cliente.nombre → output: n
Word Find & Replace find = "{FECHA}" replace = today().ToString("dd/MM/yyyy")
Word Find & Replace find = "{MONTO}" replace = str(monto)
Word Save
If condition = n == 0
└─ then:
Log level = warning message = "La plantilla no tiene el marcador {NOMBRE}"
MensajeCausa y solución
Indica 'session' o 'path'.No hay sesión ni ruta. Pasa path o usa la actividad dentro de un body de Word Open/Create.
No se encontró el archivo.La ruta de path no existe en la máquina del robot.
'find' es obligatorio.find está vacío.
Error de acceso al guardar (modo path)El archivo está abierto en Word u otro programa, o no hay permisos de escritura.