• ベストアンサー

ファィルの中身をフォルダー名として自動で作る

txt.ファィルの中に数字とカンマで区切られた人名が入っています。一個ずつをフォルダー名にして 、自動で新しいフォルダーを作るソフトを紹介してください。8000件くらいありますのでとても手での入力は不可能です。よろしくお願いいたします。 1、阿部晋三 2、佐藤栄作 3、吉田茂 4、岸信介 ・ ・ ・

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

> ドライブGの顧客というフォルダーの中に作りたい場合 元のテキストファイルをドライブGの顧客というフォルダーに入れてからエクセルで読み込むか、コードを以下のように変更してください。 Sub sample() Dim i As Integer ChDrive ("G:") ChDir ("G:\顧客") For i = 1 To Range("A65535").End(xlUp).Row MkDir Range("A" & i).Value Next MsgBox "終了" End Sub

masingyo
質問者

お礼

ありがとうございました。 できました。 詳しく教えていただきまして本当にありがとうございました。

その他の回答 (3)

noname#252332
noname#252332
回答No.3

おまけ。EXCELとメモ帳でやる方法です。EXCELでテキストファイルとして開きます。名前の前に「md "」の列を追加します。名前の後に「"」の列を追加します。名前を付けて保存でcsvファイルとして保存します。メモ帳で開くと、余分な引用符とコンマがあるので、「md ",」→「md "」とか、「""""」→「"」とか置換して md "1、阿部晋三" となるよう修正します。あとは先ほどの回答と同じです。

masingyo
質問者

お礼

ありがとうございました。 エクセルだけでできそうです。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

エクセルをお持ちでしたらそのテイストファイルをエクセルで読み込むと(読み込むときにテキストウィザードが出たら何もせずにそのまま完了してください)A列に一行ごと読み込まれると思いますので、以下のマクロを実行してください。 Sub sample() Dim i As Integer For i = 1 To Range("A65535").End(xlUp).Row MkDir Range("A" & i).Value Next MsgBox "終了" End Sub マクロの実行の仕方を老婆心ながら書いておきます。 ALT+F11を押すとVBEの画面が開きますので、左側にあるさっき読み込んだデータのあるシート名のところをダブルクリックします。そうする右側に白い画面が開きますので上記のコードをコピー&ペーストしてください。その後 Sub と End Subの間のどこかをクリックしてF5キーを押してください。 それで、フォルダが作成されます。

masingyo
質問者

補足

ありがとうございます。 やってみましたところ「実行時エラー75。パス名が無効です」とでますが、デスクトップに確かにフォルダーが作成されています。 たとえばこのフォルダー作成場所をドライブGの顧客というフォルダーの中に作りたい場合はマクロをどのように変えたらいいのでしょうか。よろしくご教示ください。

noname#252332
noname#252332
回答No.1

秀丸などキーマクロが使えるエディタでこのテキストを開き、 md "1、阿部晋三" md "2、佐藤栄作" md "3、吉田茂" md "4、岸信介" と編集します。キーマクロで行頭に「md "」を挿入して下の行に移動、行末に「"」を挿入して下の行に移動、とやればファンクションキーを押し続けるだけで文末までリピートするので簡単です。ファイル名の拡張子をbatとして目的のフォルダに保存します。このbatファイルをダブルクリックで実行します。

masingyo
質問者

お礼

ありがとうございました。 秀丸は持っていないのでエクセルでやってみます。

関連するQ&A

専門家に質問してみよう