Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
I have the following code that works on some computer but not on others
It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
On the computers where this code does not work there is probably a needed
reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
All computers have the same references and are running Excel 2003 SP3.
I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
Are the computers where you get this error Macs? The ENVIRON function is not
available on the Mac, and the API won't work on a Mac either. You could also try retrieving Application.UserName, which is the name entered on the Tools Options General tab. Hutch "Oldjay" wrote: All computers have the same references and are running Excel 2003 SP3. I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
The API example Tom posted should work fine for you in windows. Try pasting
it into a new module in a new project and try again. Earlier you said " error Project or library not found", perhaps you have a missing reference (Tools - references). If following works it would be highly indicative of a missing ref. MsgBox VBA.Interaction.Environ$("USERNAME") If for you Environ("USERNAME") still doesn't work, ie it returns an empty string but doesn't error, there's probably not much you can do about it. It doesn't work for me either. However I get 10 returns if I run this - Sub test() Dim i As Long On Error Resume Next For i = 0 To 100 s = Environ(i) If Len(s) Then Debug.Print i, s s = "" End If Next End Sub Regards, Peter T "Oldjay" wrote in message ... All computers have the same references and are running Excel 2003 SP3. I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
I now get an error "Declare statrments not allowed as public membersof object
modules" when i try to run api "Peter T" wrote: The API example Tom posted should work fine for you in windows. Try pasting it into a new module in a new project and try again. Earlier you said " error Project or library not found", perhaps you have a missing reference (Tools - references). If following works it would be highly indicative of a missing ref. MsgBox VBA.Interaction.Environ$("USERNAME") If for you Environ("USERNAME") still doesn't work, ie it returns an empty string but doesn't error, there's probably not much you can do about it. It doesn't work for me either. However I get 10 returns if I run this - Sub test() Dim i As Long On Error Resume Next For i = 0 To 100 s = Environ(i) If Len(s) Then Debug.Print i, s s = "" End If Next End Sub Regards, Peter T "Oldjay" wrote in message ... All computers have the same references and are running Excel 2003 SP3. I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
When trying code from this ng always place it in a normal module, unless
instructed otherwise or it's self evident from the code, eg it's an event If for your own reasons the API declaration needs to go in say Thisworkbook, sheet, userform or any other class module, declare it as Private Private Declare Function GetUserName Lib etc See Declare together with Public & Private in help Regards, Peter T "Oldjay" wrote in message ... I now get an error "Declare statrments not allowed as public membersof object modules" when i try to run api "Peter T" wrote: The API example Tom posted should work fine for you in windows. Try pasting it into a new module in a new project and try again. Earlier you said " error Project or library not found", perhaps you have a missing reference (Tools - references). If following works it would be highly indicative of a missing ref. MsgBox VBA.Interaction.Environ$("USERNAME") If for you Environ("USERNAME") still doesn't work, ie it returns an empty string but doesn't error, there's probably not much you can do about it. It doesn't work for me either. However I get 10 returns if I run this - Sub test() Dim i As Long On Error Resume Next For i = 0 To 100 s = Environ(i) If Len(s) Then Debug.Print i, s s = "" End If Next End Sub Regards, Peter T "Oldjay" wrote in message ... All computers have the same references and are running Excel 2003 SP3. I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Username
Put the API declaration and function code in a VBA module (Insert Module
in the Visual Basic Editor). You can't put that code in the code module for a userform or a worksheet or in the ThisWorkbook module. Hutch "Oldjay" wrote: I now get an error "Declare statrments not allowed as public membersof object modules" when i try to run api "Peter T" wrote: The API example Tom posted should work fine for you in windows. Try pasting it into a new module in a new project and try again. Earlier you said " error Project or library not found", perhaps you have a missing reference (Tools - references). If following works it would be highly indicative of a missing ref. MsgBox VBA.Interaction.Environ$("USERNAME") If for you Environ("USERNAME") still doesn't work, ie it returns an empty string but doesn't error, there's probably not much you can do about it. It doesn't work for me either. However I get 10 returns if I run this - Sub test() Dim i As Long On Error Resume Next For i = 0 To 100 s = Environ(i) If Len(s) Then Debug.Print i, s s = "" End If Next End Sub Regards, Peter T "Oldjay" wrote in message ... All computers have the same references and are running Excel 2003 SP3. I tried the API and got the same error message at GetUserName Buffer, BuffLen "Tom Hutchins" wrote: On the computers where this code does not work there is probably a needed reference missing (to see what references have been added, select Refernces from the Tools menu in the Excel Visual Basic Editor). I think the missing refernce is either 'Visual Basic for Applications' or 'Microsoft Excel 11.0 Object Library' (you may have a different version than 11.0). Here is another way to retrieve the user's LAN ID using an API call: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Function UserName() As String Dim Buffer As String * 100 Dim BuffLen As Long On Error GoTo UNerr BuffLen = 100 GetUserName Buffer, BuffLen UserName = Left(Buffer, BuffLen - 1) Exit Function UNerr: UserName = vbNullString End Function Sub AAAAA() MsgBox UserName() End Sub Hope this helps, Hutch "Oldjay" wrote: I have the following code that works on some computer but not on others It gives the error Project or library not found Public Function UserName() UserName = Environ("USERNAME") End Function Also tried UserName = Environ$("USERNAME") What do I have to add? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
(username v1) | Excel Discussion (Misc queries) | |||
username | Excel Worksheet Functions | |||
userName | Excel Programming | |||
UserName | Excel Programming | |||
UserName | Excel Programming |