Detectar la memoria USB en la unidad E:\
Resuelto
Lenouveauapprenti
Mensajes publicados
306
Fecha de registro
Estado
Miembro
Última intervención
-
Lenouveauapprenti Mensajes publicados 306 Fecha de registro Estado Miembro Última intervención -
Lenouveauapprenti Mensajes publicados 306 Fecha de registro Estado Miembro Última intervención -
Hola
Nota: Entorno de trabajo VB6 con Access 2007
Busco un comando que me avise si la unidad E:\ está vacía (no está conectada a una memoria USB)
Gracias por tu ayuda
Nota: Entorno de trabajo VB6 con Access 2007
Busco un comando que me avise si la unidad E:\ está vacía (no está conectada a una memoria USB)
Gracias por tu ayuda
Enlaces relacionados:
- [Excel Vba] detectar una palabra en una cadena
- "El índice no pertenece a la selección" + VBA
- [VBA] : Control de la presencia de un valor en un textbox
- insertar una imagen en un userform con la opción examinar
- Error de sintaxis en la cláusula FROM
- Forzar la confirmación de "sí" para el registro
6 respuestas
-
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Ambassadeur 1 588
-
Hola,
Gracias por el enlace, sinceramente no logro entender bien cómo debería utilizar este método de DriveExists.
He intentado con el código a continuación sin éxito.
Dim oFileSysObj If oFileSysObj.driveexists("E") = False Then MsgBox "Por favor, inserte una memoria USB" Exit Sub End If
Gracias por cualquier ayuda.-
-
Hola,
Aparentemente, no has leído bien el enlace de yg_be.
O lo has hecho de manera superficial...
Para los lectores con un medio extraíble, el método DriveExists devuelve True incluso si no hay ningún medio presente.
Utiliza la propiedad IsReady del objeto Drive para determinar si un lector está listo.
Sub ensayo() Dim fs As Object, driv As Object Set fs = CreateObject("Scripting.FileSystemObject") 'creación de un objeto FileSystemObject On Error Resume Next Set driv = fs.GetDrive(fs.GetDriveName("E:")) 'creación de un objeto Drive al que se le asigna el lector E: On Error GoTo 0 If Not driv Is Nothing Then 'Si el lector E: existe If driv.IsReady Then 'si está listo (medio insertado) MsgBox "Genial, hay una memoria USB en el lector E:" Else 'si no está listo (sin medio insertado) MsgBox "Por favor inserta una memoria USB" End If Else 'si el lector E: no existe... MsgBox "El lector E: no existe" End If End Sub
No puedo probar este código, no tengo un lector E:...
-
-
Al contrario, lo he leído, solo que en esta función de creación de objeto
(CreateObject("Scripting.FileSystemObject")
la aplicación me enviaba un mensaje relacionado con ActiveX
Además, para serte sincero, no lo he asimilado bien.
Voy a intentar tu propuesta y te diré el resultado.
Gracias a ti, a yg_be y a todos. -
Votre code funciona a la perfección, al cual he añadido algunas líneas para mis necesidades, pero he fallado una vez más.
La idea una vez que se detecta la unidad USB es verificar si la ruta de la base de datos existe.
Por favor, corrija lo que he añadido.
Dim fs As Object, driv As Object 'primera declaración añadida Dim Doss As String Doss = "E:\InstAppSLiquidations\AppSLiquidations\BDLiquidations.mdb" Set fs = CreateObject("Scripting.FileSystemObject") 'creación de un objeto FileSystemObject On Error Resume Next Set driv = fs.GetDrive(fs.GetDriveName("E:")) 'creación de un objeto Drive al que se asigna el lector E: On Error GoTo 0 If Not driv Is Nothing Then 'Si el lector E: existe If driv.IsReady Then 'si está listo (médium insertado) ' segunda adición: Asignación de una ruta hacia la BD If fs.FileExists(Doss) Then 'Verificación de la existencia de la ruta MsgBox "Ruta encontrada" Call CheminCopies 'Ruta para copiar los registros faltantes Exit Sub Else MsgBox "Ruta no encontrada" Exit Sub End If 'MsgBox "Cool, hay una clave en el lector E:" Else 'si no está listo (sin medio insertado) MsgBox "Por favor, inserte una unidad USB" End If Else 'si el lector E: no existe... MsgBox "El lector E: no existe" End If -
Gracias por el enlace, francamente no he podido aplicar lo que he leído, por falta de comprensión.
He intentado lo siguiente sin resultado, aunque lo intenté antes de usar el método: driv.GetAbsolutePathName
'Asignar un camino a la BD driv.FolderExists ("E:\InstMezAppSLiquidations\MezAppSLiquidations\BDLiquidations.mdb") If driv.FolderExists = Doss Then 'Verificación de la existencia del camino MsgBox "Camino encontrado" Call CheminCopies 'Camino para copiar los registros faltantes Exit Sub Else MsgBox "Camino no encontrado" Exit Sub End If 'MsgBox "Genial, hay una llave en la unidad E:" Else 'si no está lista (sin medio insertado) MsgBox "Por favor, inserte una memoria USB" End If -
Gracias por todo.
Con mis sinceros agradecimientos.