| 
    
     |  | neptuneさん、ichinose さん ご回答ありがとうございます。とても参考になりました。
 
 解決策として、ドライブチェックをして、D:が無い場合、C:を代用することに。
 ヘルプのまんまですが、
 Dim fs, d, dc, s, n
 Dim D_Drive_FLG         As Boolean
 Set fs = CreateObject("Scripting.FileSystemObject")
 Set dc = fs.Drives
 D_Drive_FLG = False
 For Each d In dc
 If d = "D:" Then   <=== 1.
 If d.DriveType = 2 Or d.DriveType = 3 Then
 D_Drive_FLG = True
 End If
 Exit For
 End If
 Next
 If D_Drive_FLG = False Then
 cnsWorkDir = "C:\usr"
 Else
 cnsWorkDir = "D:\usr"
 End If
 
 If Dir(Environ("ProgramFiles") & "\lhaca\lhaca.exe", vbNormal) = "" Or _
 Dir(cnsWorkDir, vbDirectory) = "" Then
 r = MsgBox("標準PCではありません。標準PCで実行してください", vbDefaultButton1, "動作環境エラー")
 Exit Sub
 End If
 
 >ネットワークで正常にLoginしてなかったら52エラーが発生するという・・
 そうなのですか・・。
 d.DriveType = 3のパターンはヤメておこうかなぁ・・。
 
 ちなみに1.の部分なのですが、d.DriveLetter = "D"としてたら
 実行時エラー'438'が出てしまって、苦肉の策でこうしました。
 でも、今、投稿前に念のためd.DriveLetter = "D"を使ったらちゃんと動きます・・。
 不思議です・・。
 d.DriveLetter = "D"を使用しても大丈夫なのでしょうか?
 
 |  |