Saltar al contenido

Recommended Posts

publicado

No se si sera de utilidad o no , pero me lo he encontrado en la biblioteca que tengo, que estoy liado con lo de saber el nombre de los equipos de una red y a aparecido esto. Repito que no es mio.



Sub NroSerieDisco()
Dim fs, d, s, t, drvpath
drvpath = "C"
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
Select Case d.DriveType
Case 0: t = "Desconocido"
Case 1: t = "Separable"
Case 2: t = "Fijo"
Case 3: t = "Red"
Case 4: t = "CD-ROM"
Case 5: t = "Disco RAM "
End Select
s = "Unidad " & d.DriveLetter & ": - " & t
s = s & vbCrLf & "NS: " & d.SerialNumber
MsgBox s
End Sub[/CODE]

Un Saludo.

Jose Maria.

publicado

Hola curanilahue;

una vez que tengas abierta una hoja excel te vas al editor de visual basic e insertar un modulo , copias el codigo y lo pegas

despues ejecutas la macro y listo.

Un Saludo.

Jose Maria.

publicado

Hola{

Como curiosidad esta bien, no lo he probado ni 1 minuto pero ponga lo que ponga en drvpath = "C" me da exactamente el mismo resultado, drvpath = "Hola que tal :)",

Pongas lo que pongas, te devuelve la informacion de la unidad en la que esta guardado el archivo, gracias a lo cual me he dado cuenta que al abrir un archivo nuevo excel, mientras se llama Libro1 sin ser guardado (donde he pegado la macro), me ha devuelto la informacion de D en lugar de C, por lo que ahora ya se que cuando creo un archivo, se crea primero en temporal D (en mi PC en concreto).

}Saludos!

publicado

Hola verzulsan, el resultado que obtienes es por el comportamiento de la funcion fs.GetAbsolutePathName el cual es causado por el argumento que le estas pasando.

prueba este ejemplo

Sub test()
drvpath = "C"
Set fs = CreateObject("Scripting.FileSystemObject")
MsgBox "Directorio activo" & vbNewLine & CurDir
MsgBox "GetAbsolutePathName pasandole como argumento " & drvpath & vbNewLine & fs.GetAbsolutePathName(drvpath)

Set fs = Nothing
End Sub[/CODE]

y luego asi

[CODE]Sub test()
drvpath = "Hola que tal"
Set fs = CreateObject("Scripting.FileSystemObject")
MsgBox "Directorio activo" & vbNewLine & CurDir
MsgBox "GetAbsolutePathName pasandole como argumento " & drvpath & vbNewLine & fs.GetAbsolutePathName(drvpath)

Set fs = Nothing
End Sub[/CODE]

y por aca esta explicado el comportamiento

GetAbsolutePathName Method

saludos cordiales

publicado

Hola Never!,

Gracias por la explicacion, vista la funcion en el link que has pasado, lo que hace es sacar con el GetAbsolutePathName la ubicacion absoluta en donde esta localizado el archivo, por eso la variable que comentaba no tiene demasiado sentido, es anulada por GetAbsolutePathName.

Un saludo amigo ;)

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.