Detect Map Drive is Connected

I several users that have mapped drives to //Server/path/path...

Each user could have different drive letters.

Mary could be K:

Bob could be H:

John could be J:

Therefore I don't want to hard code the letter.  I want to pass the //Server/path/path... to a function and tell me if the //Server/path/path is connected or not.

These people have lap top computers and I don't want the program to run if the mapped drive is not connected.

I would like a function call to check this connection and pass back a true or false on connected or not based on the passing of the //Server/path/path... and not the letter.

Thanks,
smithmrk
smithmrkAsked:
Who is Participating?
 
bramsquadConnect With a Mentor Commented:
ok, this is my exact code, and it works perfect...

'-----------------------------------

Private Sub Command65_Click()
     If IsConnected("\\Iademsvr0000\FINANCE\") = True Then
         MsgBox "its here"
     Else
         MsgBox "its not here"
     End If
End Sub

'-----------------------------------

Function IsConnected(Fullpath As String) As Boolean
    On Error GoTo fail
    If Dir(Fullpath, vbDirectory) <> "" Then
        IsConnected = True
        Exit Function
    End If
fail:
    IsConnected = False
End Function

~b
0
 
bramsquadCommented:
If Dir("//Server/path/path") <> "" Then
     MsgBox "true"
Else
     MsgBox "false"
End If

~b
0
 
smithmrkAuthor Commented:
I need to know if the mapped drive is connected.

The mapped drive path is always listed there, the question is does it have the red X over it or not.

Thanks,
smithmrk
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
bramsquadCommented:
actually after using this code i came up with something similar, but it should work

the Dir() function fails if there is not connection, so if you set an event handler, you can tell if there is a connection or not.

Function IsConnected(Fullpath As String) As Boolean
    On Error GoTo fail
    If Dir(Fullpath, vbDirectory) <> "" Then IsConnected = True
fail:
    IsConnected = False
End Function

~b
0
 
smithmrkAuthor Commented:
It seems to always fail.

I'm connected right now and it is failing.

Thanks,
smithmrk
0
 
bramsquadCommented:
i need to start testing these out before i submit them

replace your function with this

Function IsConnected(Fullpath As String) As Boolean
    On Error GoTo fail
    If Dir(Fullpath, vbDirectory) <> "" Then
        IsConnected = True
        Exit Function
    End If
fail:
    IsConnected = False
End Function
0
 
unknown_routineCommented:
Hi ,
Use ChDir   ( this is Vb equal of dos CD)


Chdir "M:\Dir1\Dir2"

Here M is name of mapped drive( change it to any letter you need) , if it is  not conected this command returns an error

and you will find out.
0
 
smithmrkAuthor Commented:
I can't used letters!

Letters are different for each user.

I want to know if the map drive is connected or not.  Red X or Not

Thanks,
smithmrk
0
 
unknown_routineCommented:

Then simply use the server name:


ChDir "\\Server\dir1\dir2"
0
 
bramsquadCommented:
the reason it was showing up false all the time is becuase i didnt exit the function after setting the return value, so it always set it to false
0
 
bramsquadCommented:
oh wow.....

i just realized, you have to have a forward slash at the end of your path

so this

IsConnected("\\Iademsvr0000\FINANCE\")

is correct....and this

IsConnected("\\Iademsvr0000\FINANCE")

is incorrect.  this should do the trick
0
 
smithmrkAuthor Commented:
The Slash may have been my issue, but I was also passing the wrong path I wanted to check to the function.

Either way it works now, because I just disconnected my lap top from the server and it failed on connection.

Thanks,
smithmrk
0
 
unknown_routineCommented:
Did you try my last comment?

It seems to work.
0
 
smithmrkAuthor Commented:
Yes!

Thanks I'm all set now.

I really appreciate the help.

Thanks again,
smithmrk
0
All Courses

From novice to tech pro — start learning today.