descomprimir varios archivos .rar a carpeta |
Responder
|
| Autor | |
carlosd
Habitual
Unido: 18/Febrero/2023 Localización: cuba Estado: Sin conexión Puntos: 67 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Tema: descomprimir varios archivos .rar a carpetaEnviado: 31/Mayo/2024 a las 04:40 |
|
Un colaborador me ayudó con un código para el tema de mi pregunta.
El objetivo es seleccionar varios comprimidos en .rar ubicados en una carpeta, y descomprimirlos en una carpeta definida y luego borrar los .rar, da un error que no he descifrado y el señor no me ha respondido nunca más. Este es el código Option Compare Database Public Function buscaArchivo() As String Dim fDialog As Office.FileDialogSet fDialog = Application.FileDialog(msoFileDialogFilePicker) With fDialog .AllowMultiSelect = False .ButtonName = "Seleccionar" .Title = "Seleccionar el archivo" .InitialFileName = "D:\users\gonza\documentos\borrar\" .InitialView = msoFileDialogViewDetails .Filters.Clear .Filters.Add "All files", "*.rar" If .Show = True Then buscaArchivo = .SelectedItems(1) Else MsgBox "Ha pulsado el botón <Cancelar>."End If End With End Function Public Function Unrar(ByVal rarArchivePath As String, ByVal extractToFolder As String) Dim sh As Object Dim fSource As Object Dim fTarget As Object Set sh = CreateObject("Shell.Application") Set fSource = sh.NameSpace((rarArchivePath)) Set fTarget = sh.NameSpace((extractToFolder)) fTarget.CopyHere fSource.Items End Function Private Sub Comando5_Click() Descripcion = buscaArchivo() Call Unrar("" & Me.Descripcion & "", "D:\users\gonza\documentos\basespracticas\") If MsgBox("¿Está seguro de eliminar el archivo comprimido original?", vbYesNo, "Luego no me eches la culpa, yo te avisé") = vbYes Then Kill Me.DescripcionEnd If End Sub el error Error en el método 'NameSapace' de objeto 'IShellDispatch6' en la línea Set fSource = sh.NameSpace((rarArchivePath)) gracias de antemano |
|
![]() |
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3878 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 31/Mayo/2024 a las 11:28 |
|
¿Y en qué línea da el error, qué mensaje de error es?
Un poquito de claridad ayudaría a que podamos ayudarte. Un saludo. Luis
|
|
|
El Búho es un pajarraco
|
|
![]() |
|
carlosd
Habitual
Unido: 18/Febrero/2023 Localización: cuba Estado: Sin conexión Puntos: 67 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 31/Mayo/2024 a las 18:18 |
|
el error es acá
el error Se ha producido el error '-2147467259' (8004005) en tiempo de ejecución Error en el método 'NameSapace' de objeto 'IShellDispatch6' el error lo da en esta línea Set fSource = sh.NameSpace((rarArchivePath)) Editado por carlosd - 31/Mayo/2024 a las 18:19 |
|
![]() |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 03/Junio/2024 a las 10:06 |
|
Eso método intenta crear una carpeta ... si ya existe te dará ese error.
Te diría que uses la línea de comandos propia de la aplicación de tratamiento de archivos rar que tengas en el equipo usando el Shell de Access. |
|
![]() |
|
dokk
Asiduo
Unido: 15/Mayo/2020 Localización: Hendaye Estado: Sin conexión Puntos: 201 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 03/Junio/2024 a las 10:30 |
|
¿Y si en lugar de hacer esos Set lo haces así?
sh.NameSpace(extractToFolder).CopyHere sh.NameSpace(rarArchivePath).Items |
|
|
Albert Hostein
Aprendiendo cayendo |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |