ねぇもりさん、この前、コマンドプロンプトでファイル名を取得する方法教えてくれたじゃん
【Windows】フォルダ内のファイル名一覧を取得・出力する(プログラミング不要)Windowsでフォルダ配下のファイル名の一覧を取得する方法を紹介しています。
プログラミングやフリーソフトは不要!Windowsの標準機能のみで簡単に取得できます!...
この作業よくやるから、もっとラクしたいな~?
もり
なるほどね。定例作業ならマクロを作った方が便利だね
指定のファルダ配下の全ファイルについて①~③を出力するマクロを紹介します。
- フルパス
- フォルダのパス(カレントパス)
- ファイル名
スポンサーリンク
フォルダパス・ファイル名を一括取得するマクロ
FileSystemObject オブジェクトを使用するため、「Microsoft Scripting Runtime」を参照設定します。
エディタで「ツール→参照設定」を選択
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Sub ファイル名取得() '前回取得結果をクリア Dim lastRow As Long lastRow = Range("A1").End(xlDown).Row Range(Cells(2, "A"), Cells(lastRow, "C")).ClearContents Dim fso As FileSystemObject Set fso = New FileSystemObject Dim fl As Folder Set fl = fso.GetFolder("C:\ファイル名の取得") ' フォルダを指定 Dim f As File Dim i As Long: i = 2 For Each f In fl.Files ' フォルダ内のファイルを取得 Cells(i, 1).Value = f.Path 'フルパス Cells(i, 2).Value = f.ParentFolder 'フォルダ Cells(i, 3).Value = f.Name 'ファイル名 i = i + 1 Next End Sub |
使い方
まず、12行目のフォルダパスを書き換えておきましょう。
エクセルシートの1行目にヘッダーを用意しておき、
プロシージャを実行すると、2行目以降に書き出すことができます。
コマンドプロンプトとVBAの使い分け
Windowsのコマンドプロンプトでも色々便利な処理ができますね。
私はこのように使い分けています。
- その日1回限り(または極めて頻度の少ない)の作業 → コマンドプロンプトで処理
- 定例作業 → VBAでマクロ化する
例えば、「フォルダを一括作成する」作業を考えてみましょう。
その時1回限りの作業予定なら、Windowsのコマンドプロンプトで処理するのが早いと思います。
【Windows】Excelのリストから複数フォルダを一括作成する(プログラミング不要)Windowsのフォルダを一括作成する方法を紹介しています。
フリーソフト不要・プログラミング不要!Excelとコマンドプロンプトを使用します。...
定例作業の場合は、一括作成ツールを作っておくと便利でしょう。
【ExcelVBA】Windowsのフォルダを一括作成するマクロExcelシートのリストを元にして、Windowsのフォルダを一括作成するVBAツールを紹介しています。
フォームコントロールを使用して、ボタンのワンクリックでマクロを実行します。...
もり
みんなも作業頻度によって使い分けてみてね~
スポンサーリンク
スポンサーリンク