Ir al contenido

ZIP Add File

Tipo: zip-add-file  ·  Paquete: ZIP Activities v1.0.5  ·  Salida: string

Agrega un archivo a un ZIP existente. Si el ZIP no existe, lo crea. Útil para ir acumulando archivos en un mismo ZIP a lo largo de un proceso (por ejemplo, dentro de un bucle).

Añade el archivo filePath al ZIP zipPath. Por defecto, dentro del ZIP queda con su nombre original y en la raíz; con entryName puedes darle otro nombre o ubicarlo en una subcarpeta ("2026/factura_001.pdf").

  • Si el ZIP no existe, lo crea (y su carpeta, si hace falta).
  • Si ya hay una entrada con ese nombre, la reemplaza: repetir la actividad con el mismo archivo no lo duplica.
  • El archivo original no se modifica ni se mueve.
  • Rendimiento: cada llamada abre y reescribe el ZIP, que se carga en memoria. Para muchos archivos o ZIP grandes, reúnelos en una carpeta y usa ZIP Compress una sola vez.
ParámetroTipoPor defectoDescripción
zipPathstring—Ruta del archivo ZIP (existente o nuevo), con su carpeta.
filePathstring—Archivo a agregar.
ParámetroTipoPor defectoDescripción
entryNamestringnombre del archivoNombre dentro del ZIP. Puede incluir subcarpetas separadas por / ("facturas/001.pdf").

Devuelve la ruta del ZIP (zipPath, tal como la indicaste), útil para encadenarla con la siguiente actividad. Desde la versión 1.0.5 la salida se declara y el Designer ofrece dónde guardarla.

MensajeCausa y solución
No se encontró el archivo que se va a añadir.filePath no existe. Compruébalo con File Exists.
End of Central Directory record could not be found.zipPath existe pero no es un ZIP válido (está dañado o es otro tipo de archivo). Usa otra ruta o elimínalo antes.
The process cannot access the file '…' because it is being used by another process.El ZIP o el archivo está abierto en otro programa.
'zipPath' es obligatorio. / 'filePath' es obligatorio.La expresión del parámetro dio nulo.

Acumular los PDF generados en un único ZIP y enviarlo al final:

For Each items = clientes itemVariable = cliente
└─ activities:
... generar el PDF del cliente en rutaPdf ...
ZIP Add File zipPath = "C:/envios/lote.zip" filePath = rutaPdf entryName = "clientes/" + fileName(rutaPdf)
SMTP Send ... subject = "Lote de documentos" attachments = arr("C:/envios/lote.zip")