PDA

Ver versión completa : usuario vba


Pinta
11-may-2005, 09:07
cuando un usuario abre un libro habiamos visto una macro que mira que usuario esta abriendo el libro y si no es permitido lo cierra automaticamente.

pepitopered me pregunta que mientras habiliten las macros todo bien, pero cuando alguien las deshabilita, abre el libro sin problemas.

para esto se me ocurre una cosa:

ocultamos todas las hojas del libro que no queremos que se vean, protegemos el libro para que no se puedan mostrar. Creamos una macro que desproteja el libro y nos muestre las hojas, si el usuario es correcto, en caso de que no lo sea, las oculta y vuelve a proteger el libro.

adjunto ejemplo para el que este interesado.

si a alguien se le ocurre una forma mejor de protegerlo, que la comente, creo que es un tema interesante.

un saludo,

Pinta.

Pinta
11-may-2005, 09:11
no puedo subir el libro, supongo que estara temporalmente el tema jodido, os pongo el codigo para que lo veais:

1º) En el open del libro ponemos

Private Sub Workbook_Open()
Dim Comprueba As String

Comprueba = UsuarioActual()

If Comprueba = "Administrador" Then
ActiveWorkbook.Unprotect "123"
Sheets("hoja1").Select
Sheets("hoja2").Visible = True
Sheets("hoja3").Visible = True
Else
Sheets("hoja1").Select
Sheets("hoja2").Visible = False
Sheets("hoja3").Visible = False
ActiveWorkbook.Protect "123"
End If
End Sub


2º) Creamos un modulo donde este la funcion Usuario actual


Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpbuffer As String, nSize As Long) As Long
Public Function UsuarioActual() As String
Dim Buffer As String
Dim Largo As Long
Dim Usuario As String

Buffer = Space(260)
Largo = Len(Buffer)
Call GetUserName(Buffer, Largo)
Usuario = Left(Buffer, Largo - 1)
UsuarioActual = Usuario
End Function

Cuando se puedan subir archivos os cuelgo el libro de ejemplo.

A ver si alguien se anima y cuelga algo.

Un saludo,

Pinta
12-may-2005, 06:22
aqui os dejo el ejemplo.


un saludo,

pepitopered
21-may-2005, 04:08
Amigo pinta, rulando
gracias

Pinta
22-may-2005, 07:45
x pepitopered

me alegro que te sirva, a ver si alguien se anima a intentar hacer algo en excel.

un saludo,