Try This.Option Explicit<br><br>Private Const CONNECT_UPDATE_PROFILE = &H1<br><br>Private Const RESOURCE_CONNECTED As Long = &H1&<br>Private Const RESOURCE_GLOBALNET As Long = &H2&<br>Private Const RESOURCETYPE_DISK As Long = &H1&<br>Private Const RESOURCEDISPLAYTYPE_SHARE& = &H3<br>Private Const RESOURCEUSAGE_CONNECTABLE As Long = &H1&<br><br>Private Declare Function WNetAddConnection2 Lib "mpr.dll" _<br> Alias "WNetAddConnection2A" (lpNetResource As NETCONNECT, _<br> ByVal lpPassword As String, ByVal lpUserName As String, _<br> ByVal dwFlags As Long) As Long<br><br>Private Type NETCONNECT<br> dwScope As Long<br> dwType As Long<br> dwDisplayType As Long<br> dwUsage As Long<br> lpLocalName As String<br> lpRemoteName As String<br> lpComment As String<br> lpProvider As String<br>End Type<br><br><br><br><br><br>Public Function MapDrive(LocalDrive As String, _<br> RemoteDrive As String, Optional Username As String, _<br> Optional Password As String) As Boolean<br><br>'Example:<br>'MapDrive "Q:", "\\RemoteMachine\RemoteDirectory", _<br>'"MyLoginName", "MyPassword"<br><br> Dim NetR As NETCONNECT<br><br> NetR.dwScope = RESOURCE_GLOBALNET<br> NetR.dwType = RESOURCETYPE_DISK<br> NetR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE<br> NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE<br> NetR.lpLocalName = Left$(LocalDrive, 1) & ":"<br> NetR.lpRemoteName = RemoteDrive<br><br> MapDrive = (WNetAddConnection2(NetR, Username, Password, _<br> CONNECT_UPDATE_PROFILE) = 0)<br> <br><br>End Function<br>