- ベストアンサー
ドライブ名の取得について
VB初心者です。 すごく基礎的なことで恥ずかしいんですが どうにもわからないのでご教示ください。 m(__)m ドライブ直下にあるファイルの入出力処理をやりたいのです。 ドライブは「ドライブリストボックス」を使ってドライブ名を選択できるようにしたいのですが ハードディスクのドライブ名が ”c:[windows]” のようになってしまうのを防ぐ方法はないでしょうか? 単純に”c:” ”d:”のようにドライブ名だけ 表示・取得したいのですが… 方法をご存知の方、ご教示ください。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ドライブリストではなく、FileSystemObjectかAPI関数を使ってコンボボックスで代用するとか。要は手作りでドライブリストボックスを作る。 この辺参考に http://www.bcap.co.jp/hanafusa/VBHLP/FSO01.htm http://vbvbvb.com/jp/gtips/0101/gGetLogicalDriveStrings.html
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
普通はVBに付いている(1)ドライブリストボックス(2)Dirリストボックス(3)ファイルリストボックス の3段階でフルパス名を確定・指定するものと思います。 (1)は、自分のディスク等の現在のフォルダやファイルの有様を反映してくれるから、有り難いのだろうと思います。これがいやなら、(1)を普通のリストボックスで選択させればしまいのことではないでしょうか。リストボックスの項目(アイテム)はC:、D:(必要あればA:、E:など)を用意する。選択された文字列で(2)に(その後(3)に)繋ぐ。誤解していたら済みません。
- kililikanrai
- ベストアンサー率28% (11/38)
失礼しました。 マイコンピュータを開いてCドライブのアイコンで右クリックしてメニューからファイル名を変更するを選んで名前を空白にして決定して下さい。 それで大丈夫だと思います。 窓の手なんて関係ありませんでした。
お礼
早速の回答ありがとうございます。 今回は自分で使用している機器のみで動かすのではなく 配布して他の人に操作していただくものになるので その方法では残念ながら対応できないのです。 ボリュームラベルはその機器それぞれの設定になっていると思われますので…
- kililikanrai
- ベストアンサー率28% (11/38)
私の環境(Win2000pro,vb6.0sp6)ではそのようにはなりません。問題なくc:どだけ表示されています。 ざっとドライブリストボックスのプロパティを見てみましたが、ここをいじれるところはないみたいです。 私の場合マシンは自作機ですから恐らくc:だけになっているのだと思います。 メーカー製の場合はWindows98などのラベルがついていたと思います。 つまりVBは関係なくて別のところをいじればよいのでしょうが、「窓の手」なんかが使えるかもしれません。ちょっと調べてみます。 あとVBによる解決方としてはドライブリストボックスを使用するのをやめて、「コンボボックス」なんかで代用してみてはいかがでしょう? ドライブの数はそうそう変化するものではありませんから、一度ご自分の環境をメモっておいてそれをコンボボックスの初期値として設定しておけばよいと思います。 (これだとCDドライブとかにディスクが入ってもそれが反映されませんね…) すみませんが私ではこれくらいしか思いつきませんでした。
お礼
回答ありがとうございます。 ドライブリストは使えそうで使えない面がありますね。 (このコントロールに限ったことではないですが…) 教えていただいたところを参考にして コンボボックスに使用可のドライブを取得・表示する方法をとることにしました。 ご教示ありがとうございました。