【VBA】ネットワークドライブ切断ダイアログの表示

VBAで「ネットワークドライブ切断」ダイアログを表示する方法です
「Declare Function」で「Windows API」を定義します
「Windows API」は、WindowsのC言語関数をVBから呼び出すインターフェースです

Windows API 呼び出し定義

標準モジュールに下記のコードを記述します
「Windows API」の部分です
dllとリンクさせる記述です
マクロボタンクリックイベントと同じモジュールに記述する場合はPublicではなくPrivateで良いです

Option Explicit

'「ネットワークドライブ切断」ダイアログ表示
Public Declare Function WNetDisconnectDialog Lib "mpr.dll" (ByVal hwndOwner As Long, ByVal dwType As Long) As Long

Public Const RESOURCETYPE_DISK = &H1
Public Const NO_ERROR = 0

ネットワークドライブ切断ダイアログの表示

標準モジュールに定義したものを使ってダイアログを表示します
シートにマクロのコマンドボタンを追加し呼び出しします

Sub ボタン1_Click()
    Dim lngReturn As Long
   
    'ネットワークドライブ切断ダイアログを表示
    lngReturn = WNetDisconnectDialog(Application.Hwnd, RESOURCETYPE_DISK)
    
    Select Case lngReturn
        Case NO_ERROR
        
        Case &HFFFFFFFF
            MsgBox "[キャンセル]されました。"
        Case Else
            MsgBox "エラー(" & lngReturn & ")が発生しました。"
    End Select
End Sub

VBA,プログラム

Posted by こっぷ