is this an accepted way to set the path

  • Thread starter Thread starter Gary Keramidas
  • Start date Start date
G

Gary Keramidas

i set a variable to the path the files are in at my location. when i take it
to the client, i have to remember to change the string to their path. so i
used the environ("username") to set it. is this a normal way to do this so
you don't always have to remember to change it?


If UCase(Environ("UserName")) = "USER" Then ' this is me at my location
fPath = "N:\My Documents\FolderName\"
Else
fPath = "\\ServerName\share\FolderName\"
End If
 
There is an API call called GetComputerName which returns the name of
the computer but I don't know if you can call API's with VBA I'm
interested in finding out though....
 
That seems acceptable. You could also see what the UNC is for the local N
drive with this function which may or may not help...

Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA"
( _
ByVal lpszLocalName As String, _
ByVal lpszRemoteName As String, _
ByRef cbRemoteName As Long) As Long

Sub Test()
MsgBox UNCfromLocalDriveName("N")
End Sub

Function UNCfromLocalDriveName(strLocalDrive) As String
'Find UNC from Local path
'i.e. Local drive "F:" = "\\RdaServer3\sys1"
' example of usage: UNCfromLocalDriveName("P") <-Actual Drive Letter
' or UNCfromLocalDriveName(A2) <-Cell reference
'
Dim sLocal As String
Dim sRemote As String * 255
Dim lLen As Long

Application.Volatile

sRemote = String$(255, Chr$(32))

lLen = 255
sLocal = strLocalDrive & ":"

WNetGetConnection sLocal, sRemote, lLen

UNCfromLocalDriveName = Trim(sRemote)

End Function
 
don't think that will help me. i am the only one that logs in here, so all i
have to do is check for my login name. if it's not me, then it must be my
client. i can't check for every computer name they use. i have 4 computers
here, and i always log in as me on every one.

so computernames don't do me any good.
 
You don't need the API

MsgBox Environ("ComputerName")

That bieng said yes you can access the API's
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top