- ベストアンサー
エクセル上でjpgデータを取得
WinXPでofficeXPです エクセルシート上に ファイル番号↓ 45555 47777 45754 ・ ・ があり、その番号を特定のフォルダからjpgファイルを 別フォルダにコピーするこって可能でしょうか? ただ、完全一致ではなく45555では 45555-1.jpg 45555-2.jpg 45555KK.jpg など45555を含む全てのファイルを取得したいのですが、 可能なのでしょうか?(かならずファイル名の後ろに-1、-2とかは付きます) さらに、その取得したファイルをシート上に記入したいのですが、 どうかおわかりの方がいらっしゃれば幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.準備 VBAの参照設定でWindows Script Host Object Modelにチェックを入れてください 2.前提条件 コピー元のフォルダ C:\TEST コピー先のフォルダ C:\TEST1 45555が入っているシート:SHEET1 SHEET1には、1から3行目までデータがあるとします。 書き出すシート:SHEET2 3.マクロは、次のとおり。 Dim Fso As New FileSystemObject J = 0 Sheets("SHEET1").Select For I = 1 To 3 FI = Dir("c:\test\" & Cells(I, 1) & "*.JPG") Do While FI <> "" J = J + 1 Sheets("SHEET2").Cells(J, 1) = FI Fso.CopyFile "c:\test\" & FI, "c:\test1\" FI = Dir() Loop Next
その他の回答 (1)
- TTak
- ベストアンサー率52% (206/389)
こんにちは。 VBAにて、FileSearchオブジェクトを使ってできます。 ファイル検索にはワイルドカードも使用できます。 ファイル名も取得できますので、セルに書き出すこともできます。
お礼
適切なご意見誠にありがとうございました。 試してみたことろうまくいきました。 VBAの参照設定でWindows Script Host Object Model という便利な物があったのですね。 理解するにはまだ、難しいですが、いろいろ勉強していきたいと思います。