ネットワークドライブを割り当てているが接続できていない状態で
VBからそのネットワークドライブに接続する知っていましたら教えて下さい。
接続のダイアログを出さずに接続する方法を書きます。
ちなみに切断方法も書いておきます。
Option Explicit
Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long
Private Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long
Private Type NETRESOURCE
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
pLocalName As String
pRemoteName As String
pComment As Long
pProvider As Long
End Type
Private Const RESOURCE_CONNECTED = &H1
Private Const RESOURCETYPE_ANY = &H0
Private Const RESOURCEDISPLAYTYPE_DOMAIN = &H1
Private Const CONNECT_UPDATE_PROFILE = &H1
Private Sub Command1_Click()
Dim typNetResource As NETRESOURCE
Dim lngRet As Long
Call Command2_Click
With typNetResource
.dwScope = RESOURCE_CONNECTED
.dwType = RESOURCETYPE_ANY
.dwDisplayType = RESOURCEDISPLAYTYPE_DOMAIN
.pLocalName = "Z:" '空いている自ドライブ
.pRemoteName = "\\" & IPADDRESS & "\" & "C"
End With
lngRet = WNetAddConnection2(typNetResource, "PASSWORD", "USER-ID", CONNECT_UPDATE_PROFILE)
If lngRet = 0 Then
MsgBox "接続できました。"
Else
MsgBox "接続できませんでした。"
End If
End Function
Private Sub Command2_Click()
Dim lngRet As Long
lngRet = WNetCancelConnection2("Z:", CONNECT_UPDATE_PROFILE, True)
If lngRet = 0 Then
MsgBox "切断できました。"
Else
MsgBox "切断できませんでした。"
End If
End Function
okuさんありがとうございます。
大変助かりました。
今後もよろしくお願い致します。
ツイート | ![]() |