|
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"を使用しても大丈夫なのでしょうか?
|
|