[RESUELTO] Copiar .zip y pegarlo dentro de otro .zip

Discute sobre las herramientas de la base de datos
Responder
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

[RESUELTO] Copiar .zip y pegarlo dentro de otro .zip

Mensaje por Longi »

Buenas!
El título creo que es descriptivo.
Normalmente uso Filecopy(Documento1, Documento2), siendo Documento1 la ruta del documento que intento copiar (con su nombre y extensión), y Documento2 cómo quiero que quede. Todo bien.
Ahora me surje que tengo que trabajar con carpetas comprimidas, y he comprobado con el sistema 'manual' que si abro un .zip no me permite copiar los documentos y pegarlos en el interior de otro .zip (habría que extraerlos y después introducirlos en el segundo .zip).
Si el primer .zip lo copio entero, sí que puedo ir al segundo .zip y pegarlo en su interior.
Bien!, esto segundo es lo que he estado intentando hacer, pero con el pequeño defecto de que no hay una URL a la que mandar el primer archivo: solo tengo el URL del .zip, pero no de su interior, con lo que Filecopy no me sirve (o no he sabido manejarlo).
¿Métodos alternativos para automatizar la labor?

Gracias y un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por mauricio »

esto... ¿desde Base?... con Python es trivial?, pero no se si puedas usarlo en donde lo requieres...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por Longi »

Pues eso!, que yo tampoco lo sé (por eso pregunto si es posible)
Es simplemente el manejo de archivos. Se podría hacer desde calc o writer, pero da la casualidad de que son documentos electrónicos que viajan y se descargan comprimidos y los estoy manejando desde base (multiusuario hsqldb 2.3)
Ejemplo:
Se envía una documentación para un expediente, donde van en carpeta comprimida 5 pdfs diferentes.
La persona se ha olvidado de enviar el pdf nº 6, por lo que lo envía, también comprimido en otra remesa (otra carpeta comprimida).
Intento que la carpeta comprimida 2 entre en la comprimida 1, de tal manera que en la 1 tenemos toda la documentación necesaria, aunque se haya enviado en momentos diferentes, y la comprimida 2 la mantenemos por si hace falta en otro momento el justificante de envío.
Esto es posible hacerlo a mano, pero los errores de abrir carpetas, copiar ir a la otra y pegar serán el pan nuestro de cada día, por lo que la mecanización no solo es conveniente para ahorrar tiempo, sino como elemento de seguridad y confianza en el sistema.
Y si, estoy bastante liado con este proyecto, así que aún no empecé con Python.
He estado haciendo pruebas con SendKeys, y consigo abrir las carpetas, pero el copia y pega no me funciona. De todos modos, como depende del tiempo que le des, al final no es nada fiable, ya que necesitará más tiempo o menos dependiendo de la carga de la carpeta y no sé cuantos parámetros que yo no controlo.
Si se te ocurre una vía de investigación me cuentas y luego ya intento tirar por el camino indicado.
Gracias! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por mauricio »

¿Puedes instalar extensiones?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por Longi »

Si.
El pequeño problema, por poner alguno, es que tengo que instalarla en cada uno de los ordenadores de los compañeros....
En realidad el problema es que no quería manejar extensiones. Prefería tener código completo con todos mis errores, que no son pocos.
De todos modos si es la solución, 'pa lante'.

Gracias! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por mauricio »

Otra opción que se me ocurre, es usar un programa de linea de comandos, y llamarlo desde Basic, por ejemplo: https://stackoverflow.com/questions/136 ... ommandline

por supuesto, yo me iría por una pequeña extensión que podemos llamar desde Basic para fusionar dos zip, rápido y bonito... pero necesitaría saber en que versiones de LibreOffice lo usarías.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Copiar .zip y pegarlo dentro de otro .zip

Mensaje por Longi »

Buenas!
Los PC tienen distintas versiones (cosa que no puedo controlar), desde 5.4 hasta 6.2, lo cual supongo que complica todo bastante.
Lo que sí que es cierto es que todos funcionan con Windows.
Estuve trasteando y encontré una macro de fornelasa para descomprimir un .zip, así que me animé y seguí buscando.
Al final, adaptando otras cosas y probando parece que el código siguiente funciona bien (en Windows):

Código: Seleccionar todo

Sub introducir_En_Zip

  Origen="C:\Users\preymar\Desktop\descargaCompleta_2019 _ 854798 - copia.zip"
  Destino="C:\Users\preymar\Desktop\descargaCompleta_2019 _ 854798.zip"
  Dim Shell : Set Shell = CreateObject("Shell.Application")
  Shell.NameSpace(Destino).CopyHere Origen
End sub
Si quieres poner tu solución, fantástico (seguro que va mejor que esta), pero con lo que he encontrado ya me sirve, así que lo daré por resuelto.

Muchas gracias y un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] Copiar .zip y pegarlo dentro de otro .zip

Mensaje por mauricio »

Quedo muy lindo:

Código: Seleccionar todo

files = Array("/home/mau/test/z1.zip", "/home/mau/test/z2.zip", "/home/mau/test/z3.zip")
zip = "/home/mau/test/files.zip"
result = app.merge_zip(zip, files)
MsgBox result
Ya publicaré toda la información.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] Copiar .zip y pegarlo dentro de otro .zip

Mensaje por mauricio »

______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder