Post by Sato当然エラーになります。
私の環境でHドライブが使用済みのとき、
『このローカルデバイス名は別のネットワークリソースへの
接続を記憶しています。』
横から失礼します。Satoさんが前に示された下のコードを実行した場合、上のようにエラーになります?
objNetwork.MapNetWorkDrive "", "\\Server\H",
ドライブ名をから文字("")に設定しているのに、Hドライブが使用中であろうがなかろうがドライブ名を指定していない以上エラーが生じるようには思われませんが。(環境によって違うのかな。)
SatoさんのGet_Driveは、ネットワークドライブ名を指定して接続した場合のドライブ名はすべて表示されると思いますが、ドライブ名を指定しなくて「から文字("")」で接続した場合のネットワークの接続状態は表示されないと思います。現状のネットワークの接続状況を表示したいのであれば、例えば
Sub shownetdrive()
Dim i As Long
Dim netdrive As String
Set objNetwork = CreateObject("WScript.Network")
Set oDrives = objNetwork.EnumNetworkDrives
For i = 0 To oDrives.Count - 1 Step 2
netdrive = netdrive & "Drive " & oDrives.Item(i) & " = " &
oDrives.Item(i + 1) & Chr(10)
Next
MsgBox netdrive
End Sub
とか。まあ、ドライブ名を""として接続する意味があるかどうかは、?ですが。意味がないとは言いませんが、そうした場合、それをMapNetWorkDriveと呼ぶとしたら私にはなんか不自然な名称に思えます。