Buscar carpeta en puertos USB de un PC

Quiero que al cerrar una base de datos se haga una copia en un pendrive. Uso un código encontrado en la web, pero he visto que cuando cambio el pendrive de puerto pues no se hace la copia y lo arregle poniendo un mensaje. Quisiera usar alguna función de código que detecte la carpeta en los diferentes puertos que pueda tener el PC. Lo intenté con Case, y con If sin éxito, pero mi falta de conocimiento no va más allá.

Respuesta

I. Hola Compañero, por mi parte lo más similar que he visto es este programa, "USB Dumper".

http://es.ccm.net/download/descargar-32129-usbdumper 

Me figuro que podría intentarse utilizar una macro para Excel, pero no tengo ningún conocimiento. He visto lo siguiente, quizás resulte útil, a la espera de que alguien más responda puedo seguir buscando información. Ánimo.

http://foro.todoexcel.com//macros/macro-copiar-borrar-t7856.html 

https://translate.google.es/translate?hl=es&sl=en&u=https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_winother/how-to-automatically-back-up-an-excel-file-in/66c2cc7f-de96-4e67-a82b-59dc430fea67&prev=search 

Macro que busque un archivo y lo abra desde cualquier ruta

http://acadevor.com/courses/libreria-macros/lectures/451616 

1 respuesta más de otro experto

Respuesta
1

¿

¿Podrías pasarme ese código?

¡Gracias! Y perdona por la tardanza. El código lo uso desde hace tiempo y va muy bien, pero quería mejorar ese error, solucionado con un MsgBox, cuando se pone la unidad de almacenamiento en otro puerto distinto. Ahí va, no recuerdo de quien es.

Private Sub cmdQuit_Click()
On Error GoTo Err_salir_Click

Dim Ruta As String
Ruta = "E:\COPIAS\" '"C:\Users\Programas\Desktop\COPIA\"


Dim VPath As String
Dim VDiaSemanaTxt, VNombreCopiaSeguridad As String
VDiaSemanaTxt = Format(Now, "dddd d MMMM yyyy")
VNombreCopiaSeguridad = VDiaSemanaTxt & ".accdb"
VPath = "C:\Users\Programas\Desktop\COPIA\"
Dim Vcopia As Integer
Vcopia = MsgBox("CONECTA LA UNIDAD EXTERNA PARA HACER COPIA DE SEGURIDAD. UNA VEZ DETECTADO PULSA ACEPTAR." & vbCrLf & vbCrLf & _
" Esta copia sustituirá a la anterior y lo hará con el nombre: " & vbCrLf & _
vbCrLf & "( " & VNombreCopiaSeguridad & " )", vbYesNo + vbQuestion, "ATENCION -  (COPIA DE SEGURIDAD) ")

Select Case Vcopia
Case vbYes
DoCmd.OpenForm "Copiando"

'¿poner mensaje/etiqueta aquí de espere un momento. Copiando...?

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile CurrentProject.FullName, Replace(Ruta, ".", "." & Format(Now, "wyy") & ".")
Set fso = Nothing
DoCmd.Quit
Case vbNo
DoCmd.OpenForm "Bienvenida"
'MsgBox ("HA ELEGIDO NO") 'Ok
'DoCmd.Quit
End Select
Exit_salir_Click:
Exit Sub
Err_salir_Click:
MsgBox "¡Vaya!, Parece que el lápiz no está conectado." & Chr(13) & Chr(13) _
& "Asegurate de ponerlo en el puerto de siempre.", , "CONTROL COPIAS DE SEGURIDAD" 'MsgBox Err.Description
Resume Exit_salir_Click
End Sub

Yo tengo el problema de que la base de datos no me deja copiarse en otro sitio mientras esta abierta.

¿Has pensado en hacer la copia de seguridad en google drive?

Así no tendrías el problema de la unidad ya que siempre seria la misma. Yo la utilizo a diario y va de lujo. Tengo copia de seguridad en el ordenador y en la nube a la vez.

¡Gracias! Es buena idea, no había pensado en la nube. Voy a indagar ya que no he usado nunca la nube y no sé cómo funciona exactamente. Pero es lo más seguro a la hora de tener problemas de restablecer copia, siempre está ahí. Gracias de nuevo

Es muy sencillo solo tienes que tener una cuenta en google e instalarte el drive en el ordenador para que sincronice los archivos con la nube.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas