ネットワークドライブに接続するには?

解決


ぺんぎん  2003-03-01 08:33:06  No: 77267

ネットワークドライブを割り当てているが接続できていない状態で
VBからそのネットワークドライブに接続する知っていましたら教えて下さい。


oku  URL  2003-03-01 14:12:43  No: 77268

接続のダイアログを出さずに接続する方法を書きます。
ちなみに切断方法も書いておきます。

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


ペンギン  2003-03-04 06:45:19  No: 77269

okuさんありがとうございます。
大変助かりました。
今後もよろしくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加