Zack
Read you post, found a bit of code that might work or could incorporate with yours. nb not tested though
[vba]
Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" _
(ByVal IpBuffer as string, _
ByRef nSize As Long) As Long
'get user logon id
Function UserName() As String
Dim sBuffer As String * 255
Dim IStringLength As Long
IStringLength=Len(sBuffer)
'Call API function
GetUserName sBuffer, IStringLength

If IStringLength > 0 Then
Username=Left$(sBuffer, IStringLength -1)
End If

End Function
[/vba]