
エクセルで画像が入った親フォルダ名とそのフォルダ内にある画像ファイルを一覧表を作りたいです。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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルに張り付けた写真のファイル名が見たい
Microsoft ASP
-
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
エクセルのマクロで特定フォルダ内のJPGファイルを検索して開きたいので
Excel(エクセル)
-
-
4
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
5
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
6
エクセル マクロ 相対パスから画像を読み込みたいです。
その他(Microsoft Office)
-
7
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
8
Excel セルに入力した画像名からフォルダの画像を自動表示させたい
Excel(エクセル)
-
9
VBAによるセル内の画像の位置調整
Excel(エクセル)
-
10
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
11
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
12
【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
13
マクロで同じフォルダにある画像を開くコードを教えてください。
Microsoft ASP
-
14
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA フォルダ名に特定の文字を...
-
ファイル名に特定の文字列を含...
-
パス名に2バイト文字(マルチバ...
-
クラウドにあるフォルダを共有...
-
Excelのハイパーリンクについて...
-
vbsで選択ダイアログを表示した...
-
Windows10でコマンドプロンプト...
-
VBScriptで空フォルダ圧縮
-
Wallpaper Engineでおすすめの...
-
自動的に作られるresource.hに...
-
【VBS】古い日付のフォルダを削...
-
exclude xcopy 除外フォルダ指...
-
ExcelVBAでフォルダへのハイパ...
-
C++Builder Ver6.0.でコンポー...
-
サーバ内のフォルダ名と各フォ...
-
【マクロ】ファイル名の日付に...
-
DelphiのSelectDirectoryの使い...
-
META-INFフォルダの置き場所に...
-
【コマンドプロンプト】名前順...
-
Downloaded Program Filesはど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
ExcelのVBAでフォルダ指定がで...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
パス名に2バイト文字(マルチバ...
-
【コマンドプロンプト】名前順...
-
【ExcelVBA】一覧表の記載に従...
-
サーバ内のフォルダ名と各フォ...
-
Wallpaper Engineでおすすめの...
-
ファイルとフォルダのどちらも...
-
Debug フォルダは消していいの?
-
Excelで指定したフォルダに保存...
-
VBプロジェクトでのフォルダ構...
-
GetAttrが原因?
-
Hitachi Embedded Workshop (HE...
おすすめ情報