• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAでフォルダ操作をしたい)

EXCEL VBAでフォルダ操作をする方法とは?

takiboの回答

  • takibo
  • ベストアンサー率57% (116/200)
回答No.5

何度もすみません。一部間違っていました。こちらに置き換えてください。 Sub サブフォルダ取得() Dim パス As String Dim objA As Object Dim objF As Object Dim myFSO As New FileSystemObject Dim myFld As Folder Dim i As Integer   Set objA = CreateObject("Shell.application")   Set objF = objA.BrowseForFolder(0, "フォルダを選択してください", 0)   If Not objF Is Nothing Then     パス = objF.items.Item.Path   End If   If パス = "" Then     Exit Sub   Else     If Right(パス, 1) <> "\" Then       パス = パス & "\"     End If   End If   Sheets("sheet1").Cells.ClearContents   Range("A1").Select   i = i   With myFSO.GetFolder(パス)     For Each myFld In .SubFolders       i = i + 1       Cells(i, 1).Value = myFld.Name       Cells(i, 2).Value = パス & myFld.Name & "\"     Next   End With End Sub

fk_sap
質問者

補足

takiboさん、たびたびお世話をおかけしてすみません。 当方のOSはWindows2000 professional Excelは2002、Visual Basicは6.0(念の為)です。 お送り頂いたコードで試してみましたが 「Dim myFSO As New FileSystemObject」のところで 「コンパイルエラー:ユーザー定義型は定義されていません」 と出てしまいます。 やはり、バージョンによって出来ないとかが関係してるのでしょうかねー? こうなると、私には全くさっぱりわからない範疇になってしまってます…。

関連するQ&A

  • エクセルVBAでフォルダ指定後、フォルダ内のファイル操作について

    あるフォルダ内に大量のフォルダ(フォルダ名は日時)があり、その各フォルダ内にテキストファイルが001.txt、002.txtとあります。 それぞれのテキストファイルの名前をフォルダ名(日時)とテキストファイル名を組み合わせたファイル名にしたいです。 イメージ)  最初に大元のフォルダを選択。     ↓  選択されたフォルダ内にある大量のフォルダから  それぞれのフォルダ名をフォルダ内のテキストファイルへファイル名を変更する。 例)フォルダ名「2006-08-28 11-30」   テキスト名「001.txt」   このファイルを「2006-08-28 11-30-001.txt」 みたいにしたいです。 非常にわかりにくいかもしれません。。 これができると非常に助かりますので、是非ご教示お願いします。

  • VBAフォルダやファイル操作について

    VBA初めての初心者です。 VBAのフォルダとファイル操作関連の質問です。(初心者です) 【やりたいこと】 画面から、 入力フォルダのパスを入力する・・・(1) 出力フォルダのパスとファイル名を入力する・・・(2) ・処理概要 入力されたフォルダ内のファイルを順次読み込み、 リネームして、出力フォルダに追加出力する。 (1)フォルダ内全ファイルを出力して終了する。 追加処理として、 (1)を複数入力できるようにしたいと思います。 ・詳細処理 出力フォルダのファイルネームは、連番であり、 画面での入力(2)ファイル名から連番したファイル名(+1していく) 出力するデータ内容は(1)のコピーのままでよい。 入力されたフォルダ内の全てのファイルを実行して終了する。 このようなプログラムなのですが、 初心者で、 わかりません。 思うようにコーディングしても 動きません???? どのように コーディングすればいいですか?

  • 連番のついた多量のフォルダ内に連番のついたエクセルを作る

    フォルダがたくさんあります。(業務001~業務100) この中にという名前連番を付けたエクセルファイル(評価001~評価100 ただし中身は同じ)を入れたいのです。ひとつひとつやると大変なのですが、何かいい方法はありませんか。フォルダに入れるのがだめなら、連番のエクセルのブックを作れるだけでもいいのですが。どなたかよい知恵があれば教えてください。

  • フォルダの中のファイルやフォルダの順番がよく変わる

    フォルダの中のファイルやフォルダの順番がよく変わるのですが、どうしたらいいんでしょうか? 好きな順番にしたいのですが、ある時開くと順番が変わってるんです。 フォルダオプションの「各フォルダの表示設定を保存する」にはチェック入ってます。 「すべてのフォルダに適用」もやっています。 原因は、アイコンの整列で「アイコンの自動整列」、「名前」を選択してる状態だからだと思うのですが、 以前は順番が変わる様な事はなかったので、さっぱり…。 「アイコンの自動整列」のチェックを外すと『好きな順番』ではなく『好きな位置』になってしまい、 また、「等間隔に整列」だけだと横4つだったのが横5つになったりします。 好きな順番に並べた後、チェックを外す。という方法だと イチイチその方法をやらなくてはいけなくなり、大変不便です。 以前は常にちゃんと横4つのまま順番は変わらず、順番を変えても等間隔に並んでたんですが…… ちなみに、知り合いのパソコンでは「アイコンの自動整列」、「名前」を選択していても順番は変わりません。

  • フォルダ内にあるファイルの連番リネーム。

    フォルダ内に決まった数(8枚)のJPG画像が入っていて、その8枚づつ画像の入ったフォルダがたくさんあります。 そのフォルダ内のJPG画像のファイル名はそれぞれ全て違うのですが、フォルダ内にある8枚のJPG画像を全て01.jpg~08.jpgに連番リネームしたいと思っています。 今まではエクスプローラー風フォルダツリーから1個1個フォルダを開けて、中身のJPG画像を全選択して連番にリネームという風にやっていましたが(Namery使用)、例えば中身を変更したいフォルダをD&Dしたらフォルダごとに8枚づつ連番を自動でつけてくれるようなソフト、またはそのような作業が可能なソフトがありましたら教えて下さい。 いくつか試してみましたが期待した結果は得られませんでした、よろしくお願いします。

  • フォルダ数を指定して、名前も連番で作成したい

    フォルダ数を指定して、そのフォルダ名を連番、もしくはABCD… など自動的に作成したいのですが、 そのようなツールをご存知でしたら教えてください。 OSはXP PROです。 例えば、指定した場所にフォルダを100個自動で作成して その作成されたフォルダの名前を1~100にしたいので、 自動でできるソフトを探しています。 よろしくお願いします。

  • フォルダやファイルの整理

     ファイルやフォルダの並べ替えをしたいです。  たとえば  今あるファイルやフォルダ名の頭に「第1回」とか「第2回」などというふうにつけて、その数字の順番で並ぶようにしたいのです。  これを、わざわざひとつひとつ  右クリック → 名前の変更 をするのは面倒です。  もっと簡単にできる方法はないでしょうか  また、その英数字の全角、半角がバラバラになるかもしれないので それを後で、一発で全角、または半角のどちらかに揃えたいのです。 ::::::::::::::::::::::::::::::::  また、新規にフォルダやファイルを複数作成するにあたり、作成していく順番に、自動的にその名前に先頭に「第1回」「第2回」とか「その1」「その2」とか「A」「B」「C」とかつくようにしたいです  上記のようなことができる方法ってないでしょうか?  

  • フォルダ内のファイルの自動整列をやめさせたい!

    OS: Windows7で、フォルダの中のファイル名を変更すると、フォルダ内で自動的に自動整列をおこないます。例えば、デジカメでとった写真をfile1, file2・・・などとフォルダ内部で名前を変えると、 フォルダ内でファイルが元にあった位置から自動的に名前ごとに整列をおこなってしまいます。 この機能をやめさせるには何か方法はありますでしょうか?

  • マクロ VBA ファイル名を連番でつけたいのですが

    マクロ初心者なので教えて頂けるとうれしいです。 保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、 保存先フォルダに同名フォルダがある場合に、 もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・ 例) 選択したシートをコピーして、 「A1+B1+見積書.xls」 という名前をつけて毎回保存していくのですが、 同名のファイルがある場合、 「A1+B1+見積書+1.xls」 「A1+B1+見積書+2.xls」 「A1+B1+見積書+3.xls」    …というふうにお尻に自動で連番をつけて 保存できるようにしたいのです。 宜しくお願い致します!

  • ファイル名からフォルダを自動生成して振り分けしてくれるソフト

    ファイル名からフォルダを自動生成して振り分けしてくれるソフト はありませんでしょうか。 当方、仕事で大量の連番ファイルを扱います。 ほとんどは以下のようなファイル名になっています。 abc.001.jpg abc.002.jpg abc.003.jpg ... qwerty_001.jpg qwerty_002.jpg qwerty_003.jpg ... ファイル名の長さは一意ではありません。 連番前の区切りには「.」ピリオドか「_」アンダーバーが使われます。 これらがひとつのフォルダの中にあるとき、 そのフォルダもしくは必要なファイルを指定することで、 ピリオドもしくはアンダーバーより前のファイル名からフォルダを自動生成して それぞれの連番を振り分けてくれることのできるソフトです。 ネットでもさまざまなファイル管理ソフトがありますが、 一番求める機能に近いものでも、ファイル名の前方からの文字数で フォルダ名を指定する必要があるなど、制限がありました。