• ベストアンサー

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

お世話になります。 特定のドライブ内のフォルダ一覧作成はできるのですが、タイトル通り、メッセージボックスを表示させ、ドライブ...例えば”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

  • Excelマクロでフォルダ一覧作成

    ExcelマクロでExcelファイルのA列に30行程、入力されている一覧の文字でフォルダを指定したフォルダ内に作成するソースを考えています。色々、試してはいますがどれもうまくいきません。教えていただけると助かります。

  • メッセージボックスを表示させない方法

    IE で、オートコンプリート機能を無効に設定しています。 が、フォーム入力の際に、『オートコンプリートをオンにしますか?』と、オートコンプリート機能を使うことを促すメッセージボックスが、度々現れます。 このメッセージボックスが出てこないようにする方法がありましたら、是非、教えてください。 【環境】 Internet Explorer 6.0 Windows XP Home Edition

  • メッセージボックスの回避について。

     VBのプログラムからShell関数を使って、あるexeを起動させると、OKボタンがひとつの  メッセージボックス返ってきます。  ユーザーにはそのメッセージボックスをさわらせることなく、処理をしたいのですが、良い案が浮かびません。  ネットやヘルプで調べたのですが、参考になるものがなくて・・・。  全然分かりませんが、VBではなくAPI関数の中にそのようなものがあるのではないかなぁと思っています。  申し訳ありませんが、教えてください。  よろしくお願いします。

  • 作ったEXEファイルを他PCで実行できません

    VB.NET2008でEXCEL2007のファイルを作成するEXEを作りました。開発環境OSはXPです。コンパイル後にできるReleaseフォルダを他PC(OSはWindows2003サーバー、EXCEL2007インストール済み)にコピーして実行したのですが、何事もなく終わってしまいます。このEXEを実行すると最初にメッセージボックスを表示し、テキストファイルにログを書き込むようにプログラムしていますが、サーバー機ではメッセージボックスは表示されず、ログファイルも作成されません。同じ開発機で作成した別のEXEは正常に実行してExcelファイルも作成されます。 よろしくお願いします。

  • メッセージボックスについて

    メッセージボックスが消えなくて困っています。 以下のように記述して、TextBox1に文字を4文字入力しないとメッセージボックスが現れますが、OKを押してもメッセージボックスがまた現れてしまい、s1_strの入力側のウィンドウに戻ることができません。 どうしたらいいでしょうか? Do s1_str = TextBox1.Text If (Len(s1_str) = 4 ) = False Then MsgBox("4文字入力してください",MsgBoxStyle.OKOnly, "エラー") End If Loop While (Len(s1_str) = 4 ) = False

  • 隠しフォルダの作成方法

    PC初心者です。 OSはWindows98ですが、パスワードを入力しないと開く事が 出来ない隠しフォルダの作成方法があれば、教えてください。    よろしくお願いします。

  • Windows7 エクスプローラーでフォルダ作成

    私の環境は、「Windows7 Pro 64bit」です。 エクスプローラーで、フォルダを作成するとき、マウスの右クリックから「新規作成」→「フォルダ」をして、フォルダに名前を入力して、「Enter」キーを押すと、「この項目は見つかりませんでした。」というメッセージが出て、「再試行」と「キャンセル」とあるので、「再試行」を選ぶと、結局、問題無くフォルダは作成されます。 この問題は100%で出ます。 出たり出なかったりはしませんが、他のソフトからフォルダを作成する場合は、何も言ってきません。 例えば、ワードで、「名前を付けて保存」から、「新しいフォルダー」を選んで、作ったりすると、普通にそのままフォルダを作成してくれます。 エクスプローラーのときだけ、この症状が起こります。 また、フォルダの中のファイルを他のフォルダにドラッグ&ドロップで移動するとき、「~.zip」ファイルだけ、同じことを言ってきます(「この項目は見つかりませんでした。」)。 但し、「~.zip」ファイルでも、他のドライブにドラッグ&ドロップでコピーする場合は、何も言ってきません。 同じドライブだと、ドラッグ&ドロップでは、移動になるので、その場合だけ、「この項目は見つかりませんでした。」と言ってきます。 どうやら、「~.zip」ファイルはエクスプローラーにとってフォルダと同じ意味なのでは? と思っています。 で、おたずねしたいのは、この問題、どうすれば直るでしょうか? 今のところ、このパソコンで、他におかしなところは無いのですが… 以上、よろしくお願い致します。

  • フォルダの検索&作成 

    タイトルにあるように 指定したフォルダが存在するかチェックして、そのフォルダがないときは、チェックしたフォルダを作成するプログラムを作りたいのですが、いまいち上手に出来ません 教えてください。お願いします VB6を使用しています。

  • 日付のフォルダを自動で作成したい。

    特定のフォルダ内のデータを、日付のフォルダ(20030101)に自動で入れたいのですが、具体的な方法がわかりません。だれかお力添えをお願い致します。 自動で行いたい部分:  1.日付のフォルダを作成する。(20030203)  2.フォルダAのデータを1で作成したフォルダにコピーする。 環境:  OS : Windows2000

  • アクセス権を設定したフォルダのアクセス権の一覧

    こんにちは、 Windows2000ServerのDドライブをフォーマットします。 (システムはCドライブ) Dドライブ内にあるフォルダに設定されたアクセス権を一覧に書き出す方法を探しています。 やりたいことは、 1.フォルダに設定されたアクセス権を一覧に書き出す 2.フォーマットする。 3.フォルダを作成して再び1.で書き出されたアクセス権の一覧を参考にアクセス権を設定する。(CACLSなどを利用) 何か、いい方法などありましたら教えてください。 よろしくお願いします。