Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Libby,
There is no way to prevent the user from changing the username in the Options dialog. You can get the Windows logon name with code like: Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long Sub AAA() Dim UName As String * 255 Dim L As Long: L = 255 Dim Res As Long Res = GetUserName(UName, L) UName = Left$(UName, L - 1) Msgbox UName End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Chip :o)
Is it possible to change the username to the windows logon name programmatically, whenever a button on a sheet is clicked? That way, even if the user had changed the username, it would be changed back when the button was clicked and so run the correct macro. -----Original Message----- Libby, There is no way to prevent the user from changing the username in the Options dialog. You can get the Windows logon name with code like: Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long Sub AAA() Dim UName As String * 255 Dim L As Long: L = 255 Dim Res As Long Res = GetUserName(UName, L) UName = Left$(UName, L - 1) Msgbox UName End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? . |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Libby,
Once you have the Windows logon name and described in my previous reply, you can use that to change Excel's username property. Application.UserName = UName -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Libby" wrote in message ... Thanks Chip :o) Is it possible to change the username to the windows logon name programmatically, whenever a button on a sheet is clicked? That way, even if the user had changed the username, it would be changed back when the button was clicked and so run the correct macro. -----Original Message----- Libby, There is no way to prevent the user from changing the username in the Options dialog. You can get the Windows logon name with code like: Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long Sub AAA() Dim UName As String * 255 Dim L As Long: L = 255 Dim Res As Long Res = GetUserName(UName, L) UName = Left$(UName, L - 1) Msgbox UName End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? . |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Chip
That works if I step through the code but when I call the macro from a button on the sheet I get a runtime error Method 'Username' of object_Application failed -----Original Message----- Libby, Once you have the Windows logon name and described in my previous reply, you can use that to change Excel's username property. Application.UserName = UName -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Libby" wrote in message ... Thanks Chip :o) Is it possible to change the username to the windows logon name programmatically, whenever a button on a sheet is clicked? That way, even if the user had changed the username, it would be changed back when the button was clicked and so run the correct macro. -----Original Message----- Libby, There is no way to prevent the user from changing the username in the Options dialog. You can get the Windows logon name with code like: Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long Sub AAA() Dim UName As String * 255 Dim L As Long: L = 255 Dim Res As Long Res = GetUserName(UName, L) UName = Left$(UName, L - 1) Msgbox UName End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? . . |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Libby,
In design mode, right click on the command button and choose Properties. In that dialog, change the TakeFocusOnClick property to False. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Chip That works if I step through the code but when I call the macro from a button on the sheet I get a runtime error Method 'Username' of object_Application failed -----Original Message----- Libby, Once you have the Windows logon name and described in my previous reply, you can use that to change Excel's username property. Application.UserName = UName -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Libby" wrote in message ... Thanks Chip :o) Is it possible to change the username to the windows logon name programmatically, whenever a button on a sheet is clicked? That way, even if the user had changed the username, it would be changed back when the button was clicked and so run the correct macro. -----Original Message----- Libby, There is no way to prevent the user from changing the username in the Options dialog. You can get the Windows logon name with code like: Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long Sub AAA() Dim UName As String * 255 Dim L As Long: L = 255 Dim Res As Long Res = GetUserName(UName, L) UName = Left$(UName, L - 1) Msgbox UName End Sub -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "libby" wrote in message ... Hi Is there any way of preventing a user from changing the Application.UserName via the Tools/Options/General. I have a macro that performs certain code depending on who's logged on. I'm running Windows NT which people have to log onto so is there any way Excel97 can look at that login and use that as the username??? . . |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Hi Chip I don't fully understand your code (even though it works). When I step through it and find the Windows Logon name which is say, "Libby", there are a lot of additional characters. "Libby|||||||||||||" This means that if I then make UName the Application.UserName then my code Select Case Application.Username Case "Libby" etc doesn't work since there are x number of additional characters after. Is there any way that only the "Libby" bit can be used for the application.username? Thanks :o) |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Libby,
Are you using the Left$ function as I showed in the example? -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Libby" wrote in message ... Hi Chip I don't fully understand your code (even though it works). When I step through it and find the Windows Logon name which is say, "Libby", there are a lot of additional characters. "Libby|||||||||||||" This means that if I then make UName the Application.UserName then my code Select Case Application.Username Case "Libby" etc doesn't work since there are x number of additional characters after. Is there any way that only the "Libby" bit can be used for the application.username? Thanks :o) |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Chip,
Once again your detailed explanations have helped me out on a annoying problem, thanks so much ! Yours sincerely, Brent McIntyre *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
(username v1) | Excel Discussion (Misc queries) | |||
username | Excel Worksheet Functions | |||
NT Username | Excel Discussion (Misc queries) | |||
Get NT Username | Excel Programming | |||
Username | Excel Programming |