Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / January 2006

Tip: Looking for answers? Try searching our database.

Use % as variable for user id?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
R. Choate - 20 Jan 2006 17:54 GMT
Can I initialize the % sign as a variable in code to identify and use to indicate the user id of the user who is running the code on
their station? For example X = %. or something like that.

Thanks,
Signature

RMC,CPA

Gary L Brown - 20 Jan 2006 18:31 GMT
Not sure exactly what you want but the following user-defined-function can be
used to get the Network User Name.  Just run the 'ShowNetName' macro...

'/=================================================/
Private Declare Function GetUserName Lib "ADVAPI32.DLL" _
 Alias "GetUserNameA" (ByVal lpBuffer As String, _
 nSize As Long) As Long

'/=================================================/
Sub ShowNetName()
 MsgBox GetNetworkUserName
End Sub
'/=================================================/
Private Function GetNetworkUserName() As String
 Dim strUserName As String

 On Error GoTo Err_GetNetworkUserName
 
 strUserName = String(255, 0)
 GetUserName strUserName, Len(strUserName)

 GetNetworkUserName = Application.WorksheetFunction. _
   Clean(strUserName)

Exit_GetNetworkUserName:
 Exit Function

Err_GetNetworkUserName:
 GetNetworkUserName = ""
 Resume Exit_GetNetworkUserName

End Function
'/=================================================/

HTH,
Signature

Gary Brown
gary_brown@ge_NOSPAM.com
If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.

> Can I initialize the % sign as a variable in code to identify and use to indicate the user id of the user who is running the code on
> their station? For example X = %. or something like that.
>
> Thanks,
R. Choate - 20 Jan 2006 18:52 GMT
What I needed was the simple

strUser = Environ("username")

that yields whatever the user is logged on as. I think this is likely the same info returned by the long API call you referenced,
but I'm not sure.

Thanks,
Signature

RMC,CPA

Not sure exactly what you want but the following user-defined-function can be
used to get the Network User Name.  Just run the 'ShowNetName' macro...

'/=================================================/
Private Declare Function GetUserName Lib "ADVAPI32.DLL" _
 Alias "GetUserNameA" (ByVal lpBuffer As String, _
 nSize As Long) As Long

'/=================================================/
Sub ShowNetName()
 MsgBox GetNetworkUserName
End Sub
'/=================================================/
Private Function GetNetworkUserName() As String
 Dim strUserName As String

 On Error GoTo Err_GetNetworkUserName

 strUserName = String(255, 0)
 GetUserName strUserName, Len(strUserName)

 GetNetworkUserName = Application.WorksheetFunction. _
   Clean(strUserName)

Exit_GetNetworkUserName:
 Exit Function

Err_GetNetworkUserName:
 GetNetworkUserName = ""
 Resume Exit_GetNetworkUserName

End Function
'/=================================================/

HTH,
Signature

Gary Brown
gary_brown@ge_NOSPAM.com
If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.

"R. Choate" wrote:

> Can I initialize the % sign as a variable in code to identify and use to indicate the user id of the user who is running the code
> on
> their station? For example X = %. or something like that.
>
> Thanks,
Chip Pearson - 20 Jan 2006 19:04 GMT
If I recall correctly, older versions of Windows (98? ME?) don't
have the "username" environ variable. The API method will work in
any version.

Signature

Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com

> What I needed was the simple
>
[quoted text clipped - 50 lines]
>>
>> Thanks,
Gary L Brown - 20 Jan 2006 19:09 GMT
Yes and No.  :O>

Environ gives you the user name for the Windows login.
The function I supplied gives the user name for the network login.

They are almost always the same but can be different.  That's why the 'yes'
and 'no' answer.

Hope one of the solutions supplied is what you are looking for.
Sincerely,
Signature

Gary Brown
gary_brown@ge_NOSPAM.com
If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.

> What I needed was the simple
>
[quoted text clipped - 44 lines]
> >
> > Thanks,
Bob Phillips - 20 Jan 2006 19:16 GMT
When will they be differnt Gary, assuming that the OS supports it?

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

> Yes and No.  :O>
>
[quoted text clipped - 73 lines]
> > > --
> > > RMC,CPA
R. Choate - 20 Jan 2006 19:40 GMT
Thanks. I'm going to use environ. That will work on my OS and that of all of my users.
Signature

RMC,CPA

Yes and No.  :O>

Environ gives you the user name for the Windows login.
The function I supplied gives the user name for the network login.

They are almost always the same but can be different.  That's why the 'yes'
and 'no' answer.

Hope one of the solutions supplied is what you are looking for.
Sincerely,
Signature

Gary Brown
gary_brown@ge_NOSPAM.com
If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.

"R. Choate" wrote:

> What I needed was the simple
>
[quoted text clipped - 11 lines]
> >
> > Thanks,
Bob Phillips - 20 Jan 2006 18:54 GMT
Just use

   Environ("UserName")

to get the network login name.

--

HTH

Bob Phillips

(remove nothere from the email address if mailing direct)

> Can I initialize the % sign as a variable in code to identify and use to indicate the user id of the user who is running the code on
> their station? For example X = %. or something like that.
>
> Thanks,
> --
> RMC,CPA
Roger Govier - 20 Jan 2006 19:25 GMT
Hi Bob

If one is only interested in the user of the Excel application being
run, are there any merits of
Environ("UserName")  over
application.username

I have only ever used the latter, but by chance happened to come across
the use of Environ variables elsewhere whilst researching something
today. I have no idea of the differences.

Signature

Regards

Roger Govier

> Just use
>
[quoted text clipped - 18 lines]
>> --
>> RMC,CPA
Jim Thomlinson - 20 Jan 2006 19:54 GMT
application.username

This line of code retrieves the value from Tools -> Options -> General tab
-> User Name. This value is at the discression of the user. They could change
it to any value that they want. Because of that I personally never use this.

Environ("UserName")
Retrieves the user name that the person logged into their computer with.
This is managed by the operating system and the end user generally speaking
has no control over it. This is handy for validating who is using your
spreadsheet and granting them the appropriate access, among other things. I
use this all of the time, unless I am developing for multiple platforms where
I tend to use the API shown by Gary.
Signature

HTH...

Jim Thomlinson

> Hi Bob
>
[quoted text clipped - 29 lines]
> >> --
> >> RMC,CPA
Gary Keramidas - 20 Jan 2006 21:04 GMT
plus, when installing office at my large clients, there is either a master
mst file, or a sysprep file for windows. or i use the main person's name at
the client if i'm adding an installation manually. i have no idea who is
going to be using a particular pc, so windows and office almost always have
the same person's name, not the user's name.

so, environ("username") is the only option for me.

Signature

Gary

> application.username
>
[quoted text clipped - 48 lines]
>> >> --
>> >> RMC,CPA
Roger Govier - 20 Jan 2006 22:26 GMT
Hi Jim & Gary

Thanks for the response. I can see that the Environ option is by far the
safer and, as in this particular application, there will be use of
different templates according to various usernames, then this will be
the better option for me.
Obviously, anyone could just change their user name in Excel, close and
re-open and could gain easy access to the wrong files.
I am most grateful to you both.

Signature

Regards

Roger Govier

> plus, when installing office at my large clients, there is either a
> master mst file, or a sysprep file for windows. or i use the main
[quoted text clipped - 61 lines]
>>> >> --
>>> >> RMC,CPA
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.