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

Discute sobre las herramientas de la base de datos

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

Notapor Longi » Lun Sep 09, 2019 6:40 am

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.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 570
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

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

Notapor mauricio » Lun Sep 09, 2019 6:07 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 5878
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

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

Notapor Longi » Lun Sep 09, 2019 7:08 pm

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.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 570
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

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

Notapor mauricio » Lun Sep 09, 2019 7:51 pm

¿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
Avatar de Usuario
mauricio
 
Mensajes: 5878
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

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

Notapor Longi » Lun Sep 09, 2019 9:42 pm

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.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 570
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

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

Notapor mauricio » Lun Sep 09, 2019 10:57 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 5878
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

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

Notapor Longi » Mar Sep 10, 2019 9:43 am

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   Expandir vistaContraer vista
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.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 570
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

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

Notapor mauricio » Jue Sep 12, 2019 5:43 am

Quedo muy lindo:
Código: Seleccionar todo   Expandir vistaContraer vista
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: 5878
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Base

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados