|
ネットワークの割当を切断するマクロです。ネットワークの割当が無い場合にデバックします。IF文で避ける方法を教えてください。
Windows7のEXCEL2010です。
Public Function DriveRemove() As Boolean
'パソコンの指定ドライブんの共有フォルダの割り当てを解除します
Dim FSO As Object '' Scripting.FileSystemObject
Dim dr As Object '' scripting.Drive
Dim NW As Object '' WshNetwork
Const Remote = 3
Dim sDrive As String, Siteid As String
sShareName = "\\共有サーバ\フォルダ"
Siteid = Cells(9, 2) 'セルにあるドライブ名取得
sDrive = Siteid & ":"
Set FSO = CreateObject("Scripting.FileSystemObject") '' New FileSystemObject
Set NW = CreateObject("Wscript.Network") '' New WshNetwork
NW.RemoveNetworkDrive sDrive, Force:=True, UpdateProfile:=True
If Err Then
'' ネットワークドライブの解除に失敗。
DriveRemove = False
Exit Function
End If
DriveRemove = True
End Function
|
|