
エクセルで画像が入った親フォルダ名とそのフォルダ内にある画像ファイルを一覧表を作りたいです。Sheet2のP1には親フォルダのパス名。P2には親フォルダ名。3行目以降の行には親フォルダ内にあるフォルダ名を転記。Sheet2はSheet2という名前でなく2番目としています。
Sheet2のQ2には親フォルダにあるフォルダに入っていない画像ファイル名を。それQ列以降の各列には各フォルダ内にある画像ファイル名を転記したいです。調べながらやりましたが、サブフォルダ名は転記できましたが、親フォルダ名と画像名が転記できません。どうすればいいでしょうか?
Private Sub CommandButton3_Click()
Dim targ As String
targ = "C:\Users\user\Pictures\〇〇"
Dim i As Integer
Dim FILE_PATH As String
Dim FSO As Object
Dim TARGET As Object
Dim TEMP As Object
FILE_PATH = targ
'ヘッダーの作成
Sheet2.Range("P1") = FILE_PATH
'3行目からフォルダ名を記載
i = 3
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TARGET = FSO.GetFolder(FILE_PATH).SubFolders
For Each TEMP In TARGET
Sheet2.Cells(i, "P") = TEMP.Name
i = i + 1
Next
'画像ファイル一覧"
Dim buf As String
For i = 2 To 50
buf = Dir(Sheet2.Range("P1") & "\" & Sheet2.Cells(i, "P"))
Next
j = 2
Do While buf <> ""
buf = Dir()
Sheet2.Cells(j, j + 15).Value = buf
j = j + 1
Loop
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
”.jpg”で取得できないのは*が付いていない為ではないかと、
すべてのファイルを対象に
buf = Dir(FILE_PATH & "\*")
buf = Dir(FILE_PATH & "\" & subfol & "\*")
ではどうでしょう?
また、取得したい拡張子を調べてくださいね
No.1
- 回答日時:
こんばんは、
なさりたい事が分からずですが、ファイル名を取得する方法などを
お示しのコードを参考に書いてみました。(纏めず分けています)
新規ブックで確認してみてください。参考になるかも知れませんが
ならないかも知れません。
ファイルを取得する為、暫定pngファイルとしました。
すべてのファイルを取得する場合は、*.*で対応します。
Dim targ As String
targ = "C:\Users\user\Pictures\〇〇"
Dim i As Integer, j As Integer, n As Long
Dim FILE_PATH As String
Dim FSO As Object
Dim TARGET As Object
Dim TEMP As Object
Dim subfol As Range
Dim buf As String
FILE_PATH = targ
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TARGET = FSO.GetFolder(FILE_PATH).SubFolders
'ヘッダーの作成
Sheet2.Range("P1") = FILE_PATH
'3行目からフォルダ名を記載
n = 3
For Each TEMP In TARGET
Sheet2.Cells(n, "P") = TEMP.Name
n = n + 1
Next
'親フォルダ内画像ファイル一覧"
j = 17 'Q
n = 2 '2行目にフォルダパス
Cells(n, j) = FILE_PATH
buf = Dir(FILE_PATH & "\*.png")
Do While buf <> ""
n = n + 1
Cells(n, j) = buf
buf = Dir()
Loop
' サブフォルダ内画像ファイル一覧
j = j + 1 '列の移動
For Each subfol In Range("P3", Cells(Rows.Count, "P").End(xlUp))
n = 2
Cells(n, j) = FILE_PATH & "\" & subfol
buf = Dir(FILE_PATH & "\" & subfol & "\*.png")
Do While buf <> ""
n = n + 1
Cells(n, j) = buf
buf = Dir()
Loop
j = j + 1
Next
遅くなりました。ご回答ありがとうございます。
フォルダ名は転記できたのですが各フォルダ内にある画像ファイル名を転記ができないです。"\*.png"を"."にしたり、”.jpg”にしたりしたんですができませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルに張り付けた写真のファイル名が見たい
Microsoft ASP
-
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいので
Excel(エクセル)
-
-
4
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
5
Excel セルに入力した画像名からフォルダの画像を自動表示させたい
Excel(エクセル)
-
6
エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法
Excel(エクセル)
-
7
エクセルのセルに指定画像(.jpg)を自動で貼り付けたいです。
Excel(エクセル)
-
8
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
9
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
10
エクセル マクロ 相対パスから画像を読み込みたいです。
その他(Microsoft Office)
-
11
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
12
VBAで「エクセルに写真を貼り付け、外のセルに撮影月日を『和暦』で自動記載」させたい
Excel(エクセル)
-
13
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
14
【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
15
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
16
画像を削除したい(VBA)
Word(ワード)
-
17
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
18
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
19
マクロで同じフォルダにある画像を開くコードを教えてください。
Microsoft ASP
-
20
Excel 画像貼り付けのVBAについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
Excelで指定したフォルダに保存...
-
VBA 最新のフォルダ取得
-
マクロでネットワークドライブ...
-
PHPで、指定フォルダ(サブフォ...
-
C ファイル出力で、フォルダが...
-
デスクトップの画像をhtmlに表...
-
フォルダを開いて、閉じるのプ...
-
excelマクロ 冒頭3文字が一致す...
-
会社のネットワーク上のファイ...
-
excel VBA Dirにて検索したフォ...
-
【ExcelVBA】一覧表の記載に従...
-
VBA:特定の文字を含むフォルダ...
-
ファイル名と同名のフォルダを...
-
Access VBA で フォルダ権限...
-
VBA フォルダ名に特定の文字を...
-
ExcelVBAでフォルダへのハイパ...
-
フォルダにリンクを貼りたい
-
平日出力されるログを月次処理...
-
C#でフォルダをロックする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダ名に特定の文字を...
-
Access VBA で フォルダ権限...
-
ディレクトリ名変更してコピー...
-
excelマクロ 冒頭3文字が一致す...
-
Excelで指定したフォルダに保存...
-
パス名に2バイト文字(マルチバ...
-
ExcelのVBAでフォルダ指定がで...
-
excel VBA Dirにて検索したフォ...
-
【マクロ】ファイル名の日付に...
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
あるフォルダーのファイルを違...
-
C ファイル出力で、フォルダが...
-
フォルダを開いて、閉じるのプ...
-
ThisWorkbookがあるフォルダ更...
おすすめ情報