[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Eドライブも「フォルダーは存在しません」にしたい』(勉強中)
お世話になります。
再度質問します。フォルダーが無ければ次のドライブに移り探すコードを作っています。
個々の環境によりますが多くの場合EドライブはCDと思います。
下のコードなのですが、実行時エラーを出さないようにしたいのですがどうしたらよいのでしょうか。
Sub フォルダーの有無を調べる_Dir関数にて()
フォルダーパス = "E:\EXCEL" '※1 If Dir(フォルダーパス, vbDirectory) <> "" Then '※2 MsgBox フォルダーパス & " フォルダーは存在します。", , "すぐマク" Else MsgBox フォルダーパス & " フォルダーは存在しません。", , "すぐマク" End If End Sub
< 使用 Excel:Excel2013、使用 OS:Windows7 >
先ず、ドライブの有無の判定をしては? (カリーニン) 2017/10/16(月) 11:13
With CreateObject("Scripting.FileSystemObject") If .DriveExists("E:") = False Then MsgBox "ドライブが存在しません", vbCritical Exit Sub End If If .GetDrive("E").IsReady = False Then MsgBox "メディア挿入されていません", vbCritical Exit Sub End If End With (???) 2017/10/16(月) 11:31
ドライブ = "E" '※4 With CreateObject("Scripting.FileSystemObject") If .DriveExists(ドライブ) Then MsgBox ドライブ & "ドライブは有ります。" Else MsgBox ドライブ & "ドライブは有りません。" End If End With End Sub Eドライブは存在しますから「ドライブは有ります」となります。 2017/10/12(木)にお尋ねした http://www.excel.studio-kazu.jp/kw/20171011140903.html そのドライブにフォンダーが無ければ次のドライブを探したいのですが。。。 (勉強中) 2017/10/16(月) 11:41
CDについて言及するということは、CD-ROM内にある特定フォルダの下にあるブックを開きたい、という事でしょうか?
そして、Eドライブ固定でコーディングしたけれど、人によってはEドライブがCDではない場合があるので、Fドライブ、Gドライブ…と変えていけばよいだろう、という事ですか?
つまりは、CDの使えるドライブはどれかを知りたい、という事でしょうか? ドライブレターなんて好きに変更できますし、Zドライブかも知れませんよ? または、HDDが1つだけならば、DドライブがCD-ROMかも? Eドライブから加算で、本当に良いのですか?
そして、ドライブレターを得る事ができたとして、もしドライブが2つあり、2つ目のCD-ROMにディスク挿入していたらどうするのでしょうか?
FSOとかAPIを探せば答えにたどり着けると思いますが、そんな難しい事をしなくても、Excelなのだし、どこかのセルにCD-ROMドライブのドライブレターを入力しておいて、それを使うだけで済んだりしませんか?
(???) 2017/10/16(月) 13:00
そして、Eドライブ固定でコーディングしたけれど、人によってはEドライブがCDではない場合があるので、 Fドライブ、Gドライブ…と変えていけばよいだろう、という事ですか?
仰る通りです。社員に一人ひとりが保存するドライブが違っているのと環境が違うからです。
C、Dドライブのみなら簡単だったのですがUSBに入れている人もいますからEドライブで引っかかってしまいFドライブに飛んで行かなくって困っていました。
読んでいてHDDがCしかなかったらこれも同じ現象が出ますね。
こんな時は皆さんはどの様に回避するのでしょうか。
(勉強中) 2017/10/16(月) 15:20
自分では使いこなせない難しい命令で不完全なものを作るより、簡単に使えて汎用性も高い方法があるのだから、迷う必要もないかと思いますが?
(???) 2017/10/16(月) 15:44
(勉強中) 2017/10/17(火) 09:07
せめて、ドライブにアクセスした後に On Error Goto 0 を入れてエラートラップを解除し、他のコードへの影響が無いようにしてください。
(???) 2017/10/17(火) 09:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.