Jump to content

Saber el Numero de Serie del Disco Duro


josemaria

Recommended Posts

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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 ;)

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

Privacy Policy