Saltar al contenido

macro que compare seriales


jechu85

Recommended Posts

publicado

Hola a todos, tengo una hoja exce que me gustaria que se abriera solo en los pc que yo autorice. me gustaria saber como hacer para que detecte la mac de la ethernet o serial del HHD y que esta la compare con una que yo le diga y si no son iguales que cierre la hoja excel. he estado mirando mucho y he visto como hacer para que me cierre excel y como detectar pero para que compare y haga una cosa u otra no se.

este es el codigo para saber el numero de serie del HDD:

Sub AveriguarNúmeroDeSerieDeDiscos()

Set fs = CreateObject("Scripting.FileSystemObject")

Set D = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))

MsgBox " Nº DE SERIE = " & D.serialnumber

End Sub

me lo da en mensaje pero yo lo que quiero es que lo compare no que me lo de. y este es de cerrar excel

Sub Auto_Close()

Application.Quit

End Sub

muchas gracias de antemano y felicidades por este increible foro.

un saludo

publicado

Buenas, jechu85.......

Te lo da porque le dices que te lo dé........no es que sea desobediente....jejeje.........el Msgbox, obviamente puedes eliminarlo y no pasaría absolutamente nada......

Puedes captar el valor del número de serie en una variable, por ejemplo, decirle que "serie= D.serialnumber".

De esa manera, puedes comparar el valor de "serie" con aquel ó aquellos que tú consideres....ya estén en alguna celda del propio libro ó incluido directamente en código......

Imagina: si tu número de serie "legal" fuera 23456789 (desconozco longitud, formato, etc.....), podrías poner en tu código:


If serie<> 23456789 Then
Msgbox "El número de serie no es válido. El archivo se cerrará a continuación",vbcritical, "Número incorrecto"
Application.Quit
End If
[/CODE]

De esa manera, te sobraría también la macro para cerrar........pues incluyes el código en la primera.....

Mira a ver si la idea te sirve ó si necesitas otras comprobaciones.....

Y, Ojo!!!.......la primera macro no está diseñada para ejecutarse al abrir el archivo........deberías asociarla a un evento Auto_Open.....

Un saludo,

Tese

publicado

muchísimas gracias, solo una cosilla cuando cierra me pregunta si quiero guardar, no guardar o cancelar, resulta que si le doy a cancelar, te deja usar el libro perfectamente. ¿habria alguna forma de quitar el cancelar o el que pregunte entero?

un saludo

publicado

hola compi. Yo optaría por cerrar el libro activo y no el Application.Quit porque si tiene abierto otros excel podría perder datos.

ActiveWorkbook.Close False 

Con el false le indico que no quiero que guarde cambios.

S2

publicado

Funciona!! muchisimas gracias. me encanta este foro, respuestas rapidas y efectivas hasta para novatos como yo. asi da gusto.

un saludo

- - - - - Mensaje combinado - - - - -

una cosa, ¿como pongo el tema por solucionado?

- - - - - Mensaje combinado - - - - -

Hola, perdona que te vuelva a molestar. me he dado cuenta que si no se habilitan las macros, la hoja funciona. yo tengo protegido todas las hojas pero que deje escribir en los rango que yo he añadido. ¿Se puede hacer que al cerrar la macro ponga proteccion total a todas las hojas y que al habilitar las macros al iniciar el libro, quite la protección de los rangos que yo haya marcado y se pueda usar?

Un saludo

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • 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.