• ベストアンサー

メッセージボックスで指定したドライブ内のフォルダ一覧作成方法

お世話になります。 特定のドライブ内のフォルダ一覧作成はできるのですが、タイトル通り、メッセージボックスを表示させ、ドライブ...例えば”C:”と入力し、OKを押すと、その入力したドライブ内のフォルダ一覧が作成する方法が知りたいです。 VBに詳しくない為、どこが悪いのか何をしたらいいのか分かりません。 よろしくお願いいたします。 【環境】 ・Windows XP ・Excel2003

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

メッセージボックスというよりか、InputBox ですかね。 InputBox 関数について調べてみてください。 そこから先はすでに完成しているコードを使えます。 現在のコードに埋め込まれている「特定のドライブ」の部分を、InputBox 関数で取得したユーザー入力値に変更すればいけます。 ただし、InputBox でユーザーにどこまで入力を許すのか、ってところを決め、そのルールから外れないようにコードを工夫しましょう。 たとえばユーザーはドライブ レター(D ドライブなら D 1文字)を半角文字で入力することを期待する。 しかし InputBox 関数はユーザーが入力する文字数をコントロールすることはできないので、ユーザーが入力した文字の先頭の 1文字だけを取得し、それを半角に変換してからフォルダ一覧の処理に移る。

YJET
質問者

お礼

ありがとございました。 InputBox関数の使い方を再度確認したところ、InputBoxにてドライブ指定し、フォルダ一覧を作成する事ができました。 L1のフォルダ場所の指定がうまくできていなかったようです。 'フォルダの場所指定 wkdir = mypath ← mypathにし、実行したところ、できました。 (簡単でしたね。すみませんでした。。。) ************************************************** start: Message = "☆ドライブを指定して下さい☆ 例) c:" Title = "ドライブの指定" mypath = InputBox(Message, Title) If Right$(mypath, 1) = ":" Then GoTo L1 v = MsgBox("ドライブの指定方法が違います") GoTo start L1: 'フォルダの場所指定 wkdir = mypath 'フォルダ名の取得 fname = Dir(wkdir, vbDirectory) ************************************************** 本当にありがとうございました。

その他の回答 (1)

  • incho0922
  • ベストアンサー率41% (84/204)
回答No.1

補足をお願いします。 フォルダ一覧をどのように作成すれば良いのでしょうか? 「特定のドライブ内のフォルダ一覧作成はできる」のであれば、その部分のプログラムがどうなっているのかを添えて質問した方が、アドバイスを書きやすいと思いますよ。

関連するQ&A