VBA Code to Login to Excel
Hello -
I have found the following code from this group. It works, to the point that a message box pops with my user ID. But I am not sure if this is what I need or if it is how to modify it as a login varification to prevent other users from opening or viewing an excel sheet. Private Declare Function apiGetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nsize As Long) As Long Sub GetUserNameTest() MsgBox "I am " & fOSUserName End Sub Function fOSUserName() As String ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) If lngX < 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function So, if I am not me, then I get access denied message...that is what I'm looking for...is this code a good start, if it is how would I modify to close the sheet if I'm not who I say I am...if it is not the best way, then any ideas on how to do this? Thanks.. |
VBA Code to Login to Excel
Private Sub Workbook_Open() If Environ("Username") < "Gimp" ThisWorkbook.Close SaveChanges:=False EndIf End Sub 'This is workbook event code. 'To input this code, right click on the Excel icon on the worksheet '(or next to the File menu if you maximise your workbooks), 'select View Code from the menu, and paste the code -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Gimp" wrote in message ups.com... Hello - I have found the following code from this group. It works, to the point that a message box pops with my user ID. But I am not sure if this is what I need or if it is how to modify it as a login varification to prevent other users from opening or viewing an excel sheet. Private Declare Function apiGetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nsize As Long) As Long Sub GetUserNameTest() MsgBox "I am " & fOSUserName End Sub Function fOSUserName() As String ' Returns the network login name Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) If lngX < 0 Then fOSUserName = Left$(strUserName, lngLen - 1) Else fOSUserName = "" End If End Function So, if I am not me, then I get access denied message...that is what I'm looking for...is this code a good start, if it is how would I modify to close the sheet if I'm not who I say I am...if it is not the best way, then any ideas on how to do this? Thanks.. |
All times are GMT +1. The time now is 06:15 AM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com